Lenguaje de programación Java: por dónde empezar a aprender. ¿Dónde se utiliza Java? Los operadores se detienen y continúan. Clases y objetos

Todo archivos fuente(también conocido como "fuentes") escrito en Java debe terminar con la extensión .java. El archivo debe contener al menos una definición de clase pública.

Si hay una definición de clase pública, debe ser igual que el nombre del archivo sin la extensión. Por ejemplo, si el código fuente contiene la clase Apple, entonces el archivo debería llamarse Apple.java. La fuente puede contener un número ilimitado de definiciones de clases no públicas.

Tres elementos nivel superior conocidas como unidades de compilación también pueden estar presentes en el archivo:

declaración de paquete; por ejemplo, paquete exam.problems;

Declaración de importación (declaración de importación); por ejemplo importar java.awt.Button; // importa una clase específica import java.util.*; // importa el paquete completo;

definición de clase; por ejemplo prueba de clase pública (...).

El formato de declaración del paquete es muy simple. La palabra clave paquete aparece primero, seguida del nombre del paquete. Y el nombre del paquete, a su vez, consta de una secuencia de ciertos elementos separados por un punto. Esta secuencia de elementos muestra la jerarquía de directorios en el disco. A un directorio llamado último elemento Se encuentra la secuencia y la clase. Considere el ejemplo anterior: una clase con dicha declaración de paquete se coloca en el directorio de problemas, que se encuentra en el directorio de exámenes.

Debes tener cuidado al nombrar cada elemento de la secuencia: los nombres de los directorios deben ser válidos en cualquier plataforma. Es decir, simplemente los elementos de la secuencia pueden contener letras, números, un guión bajo y un símbolo de dólar.

Sintaxis:

El lenguaje Java está fuertemente tipado, es decir. Todas las variables, constantes y expresiones tienen su propio tipo, que debe determinarse en la etapa de traducción del programa.

El tipo de datos determina

el conjunto de valores que puede tener una variable o que pueden resultar de evaluar una expresión;

un conjunto de operaciones aplicables a estos valores;

el significado de estas operaciones.

Los tipos de datos primitivos son similares a los tipos simples utilizados en otros lenguajes de programación.

Al implementar tipos primitivos, no se utiliza el enfoque orientado a objetos.

Los tipos de datos de referencia se utilizan para trabajar con objetos.

El tipo de datos lógico (booleano) se utiliza para representar dos valores lógicos: verdadero o falso.

El tipo de datos de caracteres (char) se utiliza para representar códigos de caracteres en la codificación Unicode de doble byte.

Los tipos de datos reales se distinguen por la precisión de representación de los valores:

flotante - precisión simple (7-8 dígitos)

doble - doble precisión (17 dígitos)

Constantes

Las constantes generalmente se denominan representación de valores de tipos de datos en el texto del programa.

Las constantes booleanas se escriben usando palabras clave.

verdadero - "verdadero"

falso - "falso"

Las constantes enteras se pueden escribir en tres sistemas numéricos:

decimal(1, 10, 100);

octales (01, 010, 0100);

hexadecimal (0x1, 0x10, 0x100).

De forma predeterminada, las constantes enteras coinciden tipo entero.

Utilice constantes si es necesario tipo largo, se debe especificar el sufijo del tipo de datos "L".

Java: un lenguaje de los microsistemas Sun. Originalmente se desarrolló como un lenguaje para programar dispositivos electrónicos, pero luego comenzó a usarse para escribir aplicaciones de software de servidor. Los programas Java son multiplataforma, es decir, pueden ejecutarse en cualquier sistema operativo.

Conceptos básicos de programación Java

Java, como lenguaje orientado a objetos, sigue los principios básicos de la programación orientada a objetos:

  • herencia;
  • polimorfismo;
  • encapsulación.

En el centro de Java, como en otros OYA, hay un objeto y una clase con constructores y propiedades. Empieza a aprender el idioma. programación java Es mejor no utilizar recursos oficiales, sino manuales para principiantes. Dichos manuales describen las capacidades en detalle y proporcionan ejemplos de código. Libros como “El lenguaje de programación Java para principiantes” explican en detalle los principios básicos y las características del lenguaje nombrado.

Peculiaridades

El código del lenguaje de programación Java se traduce a código de bytes y luego se ejecuta en la JVM. La conversión a código de bytes se realiza en Javac, Jikes, Espresso, GCJ. Hay compiladores que traducen el lenguaje C al código de bytes de Java. Por tanto, una aplicación C puede ejecutarse en cualquier plataforma.

La sintaxis de Java se caracteriza por lo siguiente:

  1. Los nombres de las clases deben comenzar con letra mayúscula. Si el nombre consta de varias palabras, la segunda debe comenzar en mayúscula.
  2. Si se utilizan varias palabras para formar un método, la segunda de ellas debe comenzar con mayúscula.
  3. El procesamiento comienza con método principal() - es parte de cada programa.

Tipos

El lenguaje de programación Java tiene 8 tipos primitivos. Se presentan a continuación.

  • Booleano es un tipo lógico que acepta sólo dos valores, verdadero y falso.
  • Byte es el tipo de entero más pequeño y mide 1 byte. Se utiliza cuando se trabaja con archivos o datos binarios sin procesar. Tiene un rango de -128 a 127.
  • Short tiene un rango de -32768 a 32767 y se utiliza para representar números. El tamaño de las variables de este tipo es de 2 bytes.
  • Int también significa números, pero su tamaño es de 4 bytes. Se utiliza con mayor frecuencia para trabajar con datos enteros y, a veces, byte y short se promocionan a int.
  • Long se utilizan para números enteros grandes. Los valores posibles oscilan entre -9223372036854775808 y 9223372036854775807.
  • Flotante y doble se utilizan para indicar valores fraccionarios. Su diferencia es que el flotador es conveniente cuando no es necesario. alta precisión en la parte fraccionaria del número.
  • Double muestra todos los caracteres después del separador ".", mientras que float solo muestra los primeros.
  • Cadena más utilizada tipo primitivo, que se utiliza para especificar cadenas.

Clases y objetos

Las clases y los objetos juegan un papel importante en el aprendizaje del lenguaje de programación Java para principiantes.

Una clase define una plantilla para un objeto; necesariamente tiene atributos y métodos. Para crearlo, use la palabra clave Clase. Si se crea en archivo separado, entonces los nombres de clase y archivo deben ser los mismos. El nombre en sí consta de dos partes: el nombre y la extensión.Java.

En Java, puedes crear una subclase que heredará los métodos del padre. La palabra extiende se utiliza para esto:

  • clase nombre_clase extiende nombre_superclase ();

Un constructor es un componente de cualquier clase, incluso si no se especifica explícitamente. En este caso, el compilador lo crea de forma independiente:

  • clase pública Clase( Clase pública())( ) Clase pública(nombre de cadena)( ))

El nombre del constructor es el mismo que el nombre de la clase por defecto, tiene un solo parámetro:

  • Cachorro público (nombre de cadena)

El objeto se crea a partir de una clase usando operador nuevo():

  • Punto p = nuevo punto()

Recibe todos los métodos y propiedades de la clase, con la ayuda de los cuales interactúa con otros objetos. Un objeto se puede utilizar varias veces bajo diferentes variables.

    Punto p = nuevo punto()

    clase dos puntos (

    principal vacío estático público (argumentos de cadena) (

    Punto p1 = nuevo Punto();

    Punto p2 = nuevo Punto();

    Las variables de objeto y los objetos son entidades completamente diferentes. Las variables de objeto son referencias. Pueden apuntar a cualquier variable de tipo no primitivo. A diferencia de C++, su conversión de tipos está estrictamente regulada.

    Campos y métodos

    Los campos son todas las variables asociadas a una clase u objeto. Por defecto son locales y no se pueden usar en otras clases. Para acceder a los campos, utilice el operador "."

    • nombre de clase.variable

    Puede configurar campos estáticos usando palabra clave estático. Estos campos son la única forma de almacenar variables globales. Esto se debe al hecho de que Java simplemente no tiene variables globales.

    Implementada la capacidad de importar variables para obtener acceso desde otros paquetes:

    • importar nombre de clase estático;

    El método es una subrutina para las clases en las que se declara. Descrito al mismo nivel que las variables. Se especifica como una función y puede ser de cualquier tipo, incluido void:

    • punto de clase (int x, y;

      inicio vacío (int a, int b) (

    En el ejemplo anterior, la clase Point tiene un número entero xey, un método init(). Se accede a los métodos, al igual que a las variables, mediante el operador "."

    • Punto.init();

    La propiedad init no devuelve nada, por lo que es de tipo void.

    variables

    En el tutorial del lenguaje de programación Java, las variables ocupan un lugar especial. Todas las variables tienen un tipo específico, determina la ubicación requerida para almacenar valores, el rango valores posibles, lista de operaciones. Antes de poder manipular los valores, se declaran las variables.

    Se pueden declarar varias variables al mismo tiempo. Se utiliza una coma para enumerarlos:

    • ent a, b, c;

    La inicialización ocurre después o durante la declaración:

    int a = 10, b = 10;

    Hay varios tipos:

    • variables locales (locales);
    • variables de instancia
    • variables estáticas (estáticas).

    Las variables locales se declaran en métodos y constructores; se crean cuando estos últimos se ejecutan y se destruyen al finalizar. Para ellos, está prohibido especificar modificadores de acceso y controlar el nivel de disponibilidad. No son visibles fuera del bloque declarado. EN variables java no tiene un valor inicial, por lo que está en obligatorio asignado antes del primer uso.

    Las variables de instancia deben declararse dentro de la clase. Se utilizan como métodos, pero solo se puede acceder a ellos después de que se haya creado el objeto. La variable se destruye cuando se destruye el objeto. Las variables de instancia, a diferencia de las locales, tienen valores predeterminados:

    • números - 0;
    • lógica - falsa;
    • los enlaces son nulos.

    Las variables estáticas se denominan variables de clase. Sus nombres comienzan con un carácter en mayúscula y se especifican mediante el modificador estático. Se utilizan como constantes; en consecuencia, se les agrega un especificador de la lista:

    • final;
    • privado;
    • público.

    Se lanzan al comienzo del programa y se destruyen una vez que se detiene la ejecución. Al igual que las variables de instancia, tienen valores estándar que se asignan a variables vacías. Los números tienen un valor de 0, las variables booleanas tienen un valor falso y las referencias a objetos son inicialmente nulas. Las variables estáticas se denominan de la siguiente manera:

    • NombreClase.NombreVariable.

    recolector de basura

    En el tutorial "El lenguaje de programación Java para principiantes", la sección sobre recolección automática de basura es la más interesante.

    En Java, a diferencia del lenguaje C, es imposible eliminación manual objeto de la memoria. Para ello, se ha implementado un método de eliminación automática: un recolector de basura. Con la eliminación tradicional mediante nulo, solo se elimina la referencia al objeto y se elimina el objeto en sí. Existen métodos para forzar la recolección de basura, aunque no se recomienda su uso en el trabajo normal.

    El módulo para eliminar automáticamente objetos no utilizados funciona en segundo plano y se inicia cuando el programa está inactivo. Para borrar objetos de la memoria, el programa se detiene; después de liberar la memoria, se reanuda la operación interrumpida.

    Modificadores

    Hay diferentes tipos de modificadores. Además de los que determinan el método de acceso, existen modificadores de métodos, variables y clases. Los métodos declarados privados sólo están disponibles en la clase declarada. Estas variables no se pueden utilizar en otras clases y funciones. Público permite el acceso a cualquier clase. Si necesita obtener una clase pública de otro paquete, primero debe importarla.

    El modificador protegido tiene un efecto similar al público: abre el acceso a los campos de la clase. En ambos casos, las variables se pueden utilizar en otras clases. Pero el modificador público está disponible para absolutamente todos y el modificador protegido solo está disponible para las clases heredadas.

    El modificador que se utiliza al crear métodos es estático. Esto significa que el método creado existe independientemente de las instancias de la clase. El modificador Final no controla el acceso, sino que indica la imposibilidad de una mayor manipulación de los valores del objeto. Prohíbe cambios en el elemento para el que está especificado.

    Los campos finales for hacen imposible cambiar el primer valor de la variable:

      método público vacío estático (argumentos de cadena) (

      final int Nombre = 1;

      int Nombre = 2;// arrojará un error

    variables con modificador final son constantes. Por lo general, se escriben únicamente con letras mayúsculas. CamelStyle y otros métodos no funcionan.

    Final para métodos indica una prohibición de cambiar un método en una clase heredada:

      final void miMétodo() (

      System.out.printIn(“Hola mundo”);

    Final para clases significa que no puedes crear descendientes de clase:

      Clase pública final Clase (

    Resumen: modificador para crear clases abstractas. Cualquier clase abstracta y los métodos abstractos están destinados a ampliarse aún más en otras clases y bloques. Modificador transitorio le dice a la máquina virtual que no procese la variable dada. En este caso, simplemente no se guardará. Por ejemplo, transitorio int Name = 100 no se guardará, pero sí int b.

    Plataformas y versiones

    Familias existentes del lenguaje de programación Java:

    1. SE - es básico, ampliamente utilizado para crear aplicaciones personalizadas para uso individual.
    2. EE es un conjunto de especificaciones para el desarrollo de software empresarial. Contiene más posibilidades que SE, por lo que se utiliza a escala comercial en grandes y medianas empresas.
    3. ME: diseñados para dispositivos con potencia y memoria limitadas, suelen tener un tamaño de pantalla pequeño. Estos dispositivos son teléfonos inteligentes y PDA, receptores televisión digital.
    4. Tarjeta: diseñada para dispositivos con recursos informáticos extremadamente limitados, como tarjetas inteligentes, tarjetas SIM y cajeros automáticos. Para estos fines, se cambiaron el código de bytes, los requisitos de la plataforma y los componentes de la biblioteca.

    Solicitud

    Los programas escritos en el lenguaje de programación Java tienden a ser más lentos y ocupan más RAM. Un análisis comparativo de los lenguajes Java y C mostró que C es un poco más productivo. Después de numerosos cambios y optimización del virtual maquinas java mejoró su desempeño.

    Se utiliza activamente para aplicaciones de Android. El programa se compila en un código de bytes no estándar y se ejecuta en la máquina virtual ART. Android Studio se utiliza para la compilación. Este IDE de Google es el oficial para el desarrollo de Android.

    Microsoft ha desarrollado su propia implementación. máquina virtual JavaMSJVM. Tenía diferencias que rompían el concepto fundamental de multiplataforma: no había soporte para algunas tecnologías y métodos, había extensiones no estándar que solo funcionaban en la plataforma Windows. Microsoft lanzó el lenguaje J#, cuya sintaxis y funcionamiento general es muy similar a Java. No cumplía con las especificaciones oficiales y finalmente fue eliminado del conjunto de herramientas estándar. desarrollador de microsoft estudio visual.

    Lenguaje y entorno de programación Java.

    Desarrollo software llevado a cabo en los siguientes IDE:

    1. IDE de NetBeans.
    2. IDE de eclipse.
    3. IDEA IntelliJ.
    4. JDesarrollador.
    5. Java para iOS.
    6. Geany.

    Oracle distribuye el JDK como un kit de desarrollo de Java. Incluye un compilador, bibliotecas estándar, utilidades y un sistema ejecutivo. Los entornos de desarrollo integrados modernos dependen del JDK.

    Es conveniente escribir código en el lenguaje de programación Java en Netbeans y Eclipse IDE. Se trata de entornos de desarrollo integrados gratuitos y adecuados para todas las plataformas Java. También se utiliza para programar en Python, PHP, JavaScript, C++.

    IntelliJ IDE de Jetbrains se distribuye en dos versiones: gratuita y comercial. Admite la escritura de código en muchos lenguajes de programación; existen complementos de terceros de desarrolladores que implementan aún más lenguajes.

    JDeveloper es otro desarrollo de Oracle. Completamente escrito en Java, por lo que funciona en todos los sistemas operativos.

Cuando consideramos un programa Java, se puede definir como una colección de objetos que interactúan llamando a los métodos de cada uno. Ahora entendamos brevemente Sintaxis del lenguaje Java¿Qué significan clase, objeto, métodos y variables de instancia?

Objeto- los objetos tienen estado y comportamiento. Por ejemplo: un perro puede tener un estado (color, nombre y comportamiento) asentir, correr, ladrar, comer. Un objeto es una instancia de una clase.

Clase- puede definirse como un patrón que describe el comportamiento de un objeto.

Método- es básicamente comportamiento. Una clase puede contener varios métodos. Es en los métodos donde se manipulan los datos registrados lógicamente y se realizan todas las acciones.

Variables de instancia- Cada objeto tiene su propio conjunto único de variables de instancia. El estado de un objeto se crea mediante los valores asignados a estas variables de instancia.

El primer programa y familiarización con la sintaxis del idioma.

Veamos un código simple que mostrará las palabras "¡Hola mundo!" y la sintaxis de Java.

Clase pública MyFirstJavaProgram ( public static void main(String args) ( /* Este es mi primer programa java. Como resultado de la ejecución, se mostrará “¡Hola mundo!” en la pantalla */ System.out.println(“Hola mundo!” !”); // Muestra un mensaje en la pantalla ) )

  • Abra el Bloc de notas y agregue el código de arriba.
  • Guarde el archivo como "MyFirstJavaProgram.java". A continuación veremos la sintaxis de Java y descubriremos por qué bajo este nombre.
  • abre la ventana línea de comando y vaya al directorio donde se guardó el archivo. Supongamos que es "C:\".
  • Escriba "Javac MyFirstJavaProgram.java" y presione Intro para compilar el código. Si no hay ningún error en el código, la línea de comando lo llevará a la siguiente línea: (Supuesto: la variable de ruta está configurada).
  • Ahora ingrese "java MyFirstJavaProgram" para ejecutar el programa.
  • Ahora verás "¡Hola mundo!" impreso en la ventana.
C:>javac MyFirstJavaProgram.java C:>java MyFirstJavaProgram ¡Hola mundo!

Sintaxis básica de Java

Es muy importante conocer y recordar los siguientes puntos de sintaxis:

  • Sensibilidad entre mayúsculas y minúsculas: Java distingue entre mayúsculas y minúsculas, lo que significa que el identificador Hola y hola tienen significados diferentes.
  • Nombres de clase: para todos, la primera letra debe estar en mayúscula.
  • Si se utilizan varias palabras para formar un nombre de clase, la primera letra de cada palabra interna debe estar en mayúscula, por ejemplo, "MyJavaClass".
  • Nombre de los métodos - en sintaxis de java Todos los nombres de los métodos deben comenzar con una letra minúscula.
  • Si se utilizan varias palabras para formar el nombre de un método, la primera letra de cada palabra interna debe estar en mayúscula, por ejemplo, "public void myMethodName()".
  • Nombre del archivo del programa: el nombre del archivo del programa debe coincidir exactamente con el nombre de la clase.
  • Al guardar un archivo, debe guardarlo usando el nombre de la clase (recuerde distinguir entre mayúsculas y minúsculas) y agregar ".java" al final del nombre (si los nombres no coinciden, su programa no se compilará), por ejemplo , "MyJavaProgram" es el nombre de la clase, entonces el archivo debe guardarse como "MyJavaProgram.java".
  • public static void main(String args): el procesamiento del programa comienza con el método main(), que es una parte necesaria de cada programa.

Identificadores en Java

Identificadores- nombres utilizados para clases, variables y métodos. Todos los componentes de Java requieren nombres.

Hay varias reglas en la sintaxis de Java que debes recordar sobre el identificador. Son los siguientes:

  • Cada identificador debe comenzar con "A" antes de "Z" o "a" antes de "z", "$" o "_".
  • Después del primer carácter puede haber cualquier combinación de caracteres.
  • La palabra clave no se puede utilizar como identificador.
  • Lo más importante es que el identificador en Java distingue entre mayúsculas y minúsculas.
  • Ejemplo de ortografía correcta: edad, $salario, _valor, __1_valor.
  • Ejemplo de ortografía incorrecta: 123abc, -salario.

Transferencias

Las enumeraciones se introdujeron en Java 5.0. Restringen una variable para seleccionar solo uno de varios valores predefinidos. Los valores en esta lista enumerable se llaman transferencias.

Al utilizar la enumeración en Java, puede reducir la cantidad de errores en su código.

Por ejemplo, si estuviéramos analizando solicitudes de jugo fresco en una tienda, podríamos limitar el tamaño de los paquetes de jugo a pequeño, mediano y grande. Esto permite, mediante el uso de una enumeración en Java, garantizar que nadie solicite ningún otro tamaño de paquete que no sea pequeño, mediano o grande.

Ejemplo de código de enumeración en Java

clase FreshJuice (enum FreshJuiceSize(PEQUEÑO, MEDIANO, GRANDE) FreshJuiceSize tamaño;) clase pública FreshJuiceTest (public static void main(String args)( FreshJuice Juice = new FreshJuice(); jugo.tamaño = FreshJuice.FreshJuiceSize.MEDIUM; System.out .println("Tamaño: " + jugo.tamaño);

El resultado resultante del ejemplo anterior:

Tamaño: MEDIANO

Nota: En Java, las enumeraciones se pueden declarar de forma independiente o dentro de una clase. También se pueden definir métodos, variables y constructores dentro de una enumeración.

Tipos de variables

  • Variables locales.
  • Variables de clase (estáticas).
  • Variables de instancia (dinámicas).

Modificadores

Al igual que otros lenguajes, en Java puedes modificar clases, métodos, etc., utilizando modificadores. Los modificadores en Java se dividen en dos categorías:

  • Con acceso: predeterminado, público, protegido, privado.
  • Sin acceso: final, resumen, estrictofp.

Examinaremos más de cerca los modificadores de clases, los modificadores de métodos y otros en la siguiente sección.

Formación

EN matriz de Java es un objeto que almacena múltiples variables del mismo tipo. Sin embargo, la matriz en sí es un objeto. Veremos cómo crear y completar una matriz en capítulos posteriores.

Para hablar y leer cualquier idioma. lengua extranjera, necesitas aprender el alfabeto y la gramática de este idioma. Una condición similar se observa al estudiar lenguajes de programación, con la única diferencia, me parece, de que este proceso es algo más sencillo. Pero antes de comenzar a escribir el código fuente del programa, primero debe resolver el problema que se le asignó en la forma que más le convenga.

Creemos una determinada clase que sea responsable, por ejemplo, de un teléfono, que tendrá solo dos métodos: encender y apagar este mismo teléfono. Como actualmente no conocemos la sintaxis del lenguaje Java, escribiremos la clase Teléfono en un lenguaje abstracto.

Clase Teléfono ( Método Enable() ( // operaciones para encender el teléfono ) Método Disable ( // operaciones para apagar el teléfono ) )

La clase Teléfono podría verse así. Tenga en cuenta que las llaves indican el principio y el final del cuerpo de una clase, método o cualquier secuencia de datos, respectivamente. Es decir, los paréntesis indican pertenencia a un método o clase. Por cada paréntesis de apertura debe haber un paréntesis de cierre. Para evitar confusiones, normalmente se colocan al mismo nivel en el código.

Ahora escribamos la misma clase solo en Java.

Clase Teléfono ( void on() ( // cuerpo del método on() ) void off() ( // cuerpo del método off() ) )

La palabra clave class en el lenguaje Java declara una clase, seguida del nombre de la clase misma. En nuestro caso, este es Telefon. Sólo unas pocas palabras sobre el registro de grabación. En casi todos los lenguajes de programación, es importante guardar los nombres en el registro en el que fueron escritos. Si escribió Telefon, la ortografía como telefon o TELefoN generará un error durante la compilación. Como escribimos inicialmente, así es como debemos seguir escribiendo.

Las palabras clave reservadas o se escriben en su propio caso específico y no puede usarlas nombrándolas para métodos, clases, objetos, etc. Los espacios entre palabras no importan porque el compilador simplemente los ignora, pero son importantes para la legibilidad del código.

En el cuerpo de la clase Telefon hay dos métodos: on() - enciende el teléfono y off() - apaga el teléfono. Ambos métodos tienen sus propios cuerpos y, en teoría, deberían contener algún código fuente que describa las acciones necesarias de ambos métodos. Para nosotros ahora no importa cómo se implementen estos métodos, lo principal es la sintaxis del lenguaje Java.

Ambos métodos tienen paréntesis on() dentro de los cuales se pueden escribir parámetros, como on(int time) o on(int time, int time1). Con la ayuda de parámetros, existe una especie de conexión entre los métodos y el mundo exterior. Se dice que el método on(int time) toma un parámetro de tiempo. ¿Para qué es esto? Por ejemplo, desea que su teléfono se encienda a una hora determinada. Luego, el valor entero en el parámetro de tiempo se pasará al cuerpo del método y, según los datos recibidos, se encenderá el teléfono. Si los paréntesis están vacíos, entonces el método no acepta ningún parámetro.

Comentarios

En la clase Telefon, en el cuerpo de ambos métodos hay una entrada después de dos barras: //. Esta entrada indica comentarios que el compilador ignorará, pero que son necesarios para facilitar la lectura del código. Cuanta más información comentes mientras escribes el programa, más probabilidades tendrás de recordar dentro de un año en qué has estado trabajando todo este tiempo.

Los comentarios en Java pueden ser de tres tipos: //, /*…*/ y /***…*/. Los comentarios escritos utilizando el operador // deben aparecer en una línea:

// ¡¡¡Una línea!!! ¡Error! ¡No puedes envolverlo en la segunda línea! // Primera línea // Segunda línea // … // Última línea

Los comentarios que utilizan los operadores /*…*/ pueden abarcar varias líneas. Al principio de tu comentario pon /*, y al final, cuando termines de comentar el código, pon el operador */. El último tipo de comentario /***…*/ se utiliza al documentar código y también puede ubicarse en cualquier número de líneas.

Tipos de datos Java

Para establecer un valor arbitrario, Java tiene tipos de datos. En la clase Telefon hemos creado dos métodos. Ambos métodos no tenían parámetros, pero cuando se dio el ejemplo del método on(int time) con un parámetro de tiempo, hablaron de pasar un valor al método. este valor indicó la hora a la que supuestamente debería encenderse el teléfono. El especificador int determina el tipo de valor de tiempo. Hay seis tipos de datos en Java 2 ME.

Byte: valor entero pequeño de –128 a 128;
short: valor entero corto en el rango de –32768 a 32767;
int: contiene cualquier valor entero desde –2147483648 hasta 2147483647;
long: valor entero muy grande, de –922337203685475808 a 9223372036854775807;
carbón es caracter constante en formato Unicode. Rango de este formato de 0 a 65536, lo que equivale a 256 caracteres. Cualquier carácter de este tipo debe escribirse entre comillas simples, por ejemplo: 'G';
booleano es un tipo lógico que tiene sólo dos valores: falso y verdadero. Este tipo se utiliza a menudo en bucles, que se analizarán más adelante. El significado es muy simple: si tienes dinero en el bolsillo, se supone que es cierto, y si no, entonces es falso. Así, si tenemos dinero, vamos a la tienda a comprar pan o cerveza (subraya lo que corresponda), si no hay dinero, nos quedamos en casa. Es decir, es así. valor lógico, que le ayuda a elegir qué hacer a continuación en su programa.

anunciar algo valor requerido la entrada utilizada es:

tiempo int; largo BigTime; palabra carbónica;

El operador de punto y coma es obligatorio después de las entradas y se coloca al final de la línea. Puedes combinar varias declaraciones del mismo tipo, separadas por comas:

mt tiempo, tiempo1, tiempo2;

Ahora mejoremos nuestra clase Telefon agregándole algunos valores. Ya no necesitamos los métodos on() y off(); agreguemos nuevos métodos que realmente puedan resolver ciertos problemas.

Class Telefon ( //S – área de visualización //w – ancho de visualización //h – altura de visualización int w, h, S; //método que calcula el área de visualización void Area() ( S = w*h; ) )

Entonces, tenemos tres variables S, w y h, que son responsables, respectivamente, del área, ancho y alto de la pantalla en píxeles. El método Area() calcula el área de la pantalla del teléfono en píxeles. El funcionamiento es inútil, pero muy ilustrativo y fácil de entender. El cuerpo del método Area() se ha encontrado y tiene la forma S = w*h. En este método, simplemente multiplicamos el ancho por el alto y asignamos o, como dicen, almacenamos el resultado en la variable S. Esta variable contendrá los valores del área de visualización. este teléfono. Ahora nos hemos acercado a los operadores del lenguaje Java, con los que se pueden realizar todo tipo de operaciones y de los que hablaremos en la siguiente parte de esta serie de artículos.

Propósito, características y beneficios de Eclipse

Eclipse es un IDE extensible (entorno de desarrollo integrado). IDE es un conjunto convenientemente organizado de herramientas necesarias para trabajar en un proyecto de software.

Eclipse- plataforma universal, que se puede utilizar para desarrollar aplicaciones en cualquier lenguaje de programación (por ejemplo, puede utilizar lenguaje pitón después de establecer una conexión Pydev(), pero inicialmente el lenguaje nativo de Eclipse es Java (en el que, por cierto, está escrito Eclipse).

Las características más importantes de Eclipse son:

  1. Multiplataforma. Eclipse se ejecuta en todas las plataformas comunes: Windows, Linux y MacOS X. Más importante aún, su funcionalidad es la misma en cada una de estas plataformas.
  2. Versatilidad y capacidad de ampliación. Eclipse tiene la capacidad de utilizar varios instrumentos desarrollado por programadores externos.
  3. Abierto y gratuito. Eclipse es un proyecto OpenSource (es decir, códigos fuente están disponibles para cualquier persona y cualquiera puede sumarse al desarrollo de esta herramienta). Eclipse tiene una comunidad activa que trabaja constantemente para mejorar el programa y ampliar sus capacidades.

Espacio de trabajo eclipse

Lo primero que ve cuando inicia Eclipse es un cuadro de diálogo que le permite seleccionar dónde se ubicará el espacio de trabajo. El espacio de trabajo es el directorio en el que se guardará su trabajo.

Después de seleccionar un espacio de trabajo, la pantalla mostrará pagina de inicio, con sugerencias para mirar libros de texto, ejemplos, etc. Seleccione Workbench y será llevado a la ventana. ambiente de trabajo(Banco de trabajo), en el que se llevará a cabo su trabajo posterior.

Los componentes principales del espacio de trabajo son vistas, editores y perspectivas.

Actuación– esta es una pequeña sección dentro del espacio de trabajo que sirve para navegar a través de una determinada categoría de objetos (como recursos o paquetes), abrir editores y mostrar las propiedades de los editores activos. Por ejemplo, la vista Navegador muestra proyectos y otros recursos, y la vista Marcadores muestra todos los marcadores en Workbench junto con los nombres de los archivos a los que están asociados esos marcadores. La figura muestra la esquina superior derecha del espacio de trabajo con la vista Esquema activa.

Todos los cambios realizados en las vistas se guardan inmediatamente.

Otro tipo de componentes visuales de Workbench es editores, que se utilizan para ver y editar algún recurso (por ejemplo, código de programa). Cuando selecciona un recurso, aparece el editor apropiado. Por ejemplo, abra cualquier documento de texto (con extensión .txt) usando el comando Archivo --> Abrir archivo... y verá un editor de texto sin formato integrado. Si escribe algo en este editor, aparecerá un asterisco en la pestaña donde está escrito el nombre del archivo. Significa que el editor contiene cambios no guardados. Se guardarán si presiona Ctrl + S o selecciona el comando Archivo --> Guardar.

Hay muchas vistas útiles que se pueden agregar a la ventana del banco de trabajo usando el comando Ventana --> Mostrar vista. Sin embargo, en lugar de agregarlos uno a la vez, es más conveniente cambiar la proyección (perspectiva). Proyección(o perspectiva) es un conjunto de vistas y editores seleccionados específicamente para realizar una tarea específica. Después de iniciar Eclipse, se abre la perspectiva de Java, configurada para escribir el programa. La proyección de depuración se utiliza a menudo para depurar un programa. Puede cambiar la proyección usando el comando Ventana --> Abrir perspectiva. El nombre de la proyección actual se muestra a la derecha. esquina superior ambiente de trabajo (ver figura).

Primer programa Java

Antes de comenzar a programar, necesita crear un proyecto en el que Eclipse almacenará todos los recursos relacionados con su programa.

Para crear un proyecto, ejecute el comando Archivo --> Nuevo --> Proyecto. En la ventana que aparece, seleccione Proyecto Java y haga clic en Siguiente. Proporcione un nombre para su proyecto. Tenga en cuenta que se creará una carpeta con el nombre de su proyecto en el directorio que especificó como espacio de trabajo (a menos, por supuesto, que cambie la configuración en esta ventana, lo cual no haremos por primera vez). Haga clic en el botón "Listo".

Su proyecto ahora aparece en la vista PackageExplorer en el lado izquierdo del espacio de trabajo. Puedes eliminarlo en cualquier momento haciendo clic en su nombre. clic derecho ratón y seleccionando Eliminar. Después de esto, Eclipse le preguntará si desea destruir la carpeta con los archivos del proyecto al mismo tiempo (si es necesario, puede destruirla).

Si no ha eliminado el proyecto, puede agregarle archivos y carpetas usando los comandos del menú contextual Nuevo --> Archivo y Nuevo --> Carpeta respectivamente. Si el proyecto es grande, entonces necesita una estructura de subcarpetas. Pero en el caso de un proyecto Java todo es algo diferente. El hecho es que los fragmentos de un programa Java se agrupan en paquetes, y para cada paquete se crea carpeta separada. Se crea un paquete con el comando Nuevo --> Paquete. También debe idear un nombre para el paquete. Como resultado, se creará una nueva carpeta con este nombre en la carpeta del proyecto. Puedes comprobarlo.

Puede que le resulte más fácil explorar los recursos de su proyecto utilizando la vista Navegador. Ábralo con el comando Ventana --> Mostrar vista. Verá que además de los directorios del proyecto y del paquete, Eclipse ha creado dos archivos de soporte: classpath y .project. Se pueden abrir fácilmente en el editor, pero ahora no son de especial interés para nosotros.

Un programa Java siempre consta de uno o más clases. Puede crear una clase usando el comando Nuevo --> Clase en el menú contextual de la vista Navegador (o Explorador de paquetes, no importa). Al crear una clase, debe seleccionar el paquete al que pertenecerá (seleccione el paquete que acaba de crear) y darle un nombre. Es costumbre comenzar los nombres de las clases con una letra mayúscula. Si no sigues esta regla de buenos modales, Eclipse emitirá una advertencia, pero no pasará nada malo.

Para nuestros propósitos, es útil marcar la casilla junto a "¿Qué métodos desea crear en su clase?" opuesto a la opción principal vacío estático público (argumentos de cadena). Como resultado, el método (función) main() se generará en el cuerpo de la clase. Java requiere que al menos una de las clases del programa tenga un método con este encabezado. Esto es lo que se ejecutará cuando se inicie el programa.

Como resultado de nuestras acciones, se creará un archivo con el nombre de nuestra clase y la extensión .java en la carpeta del paquete. Eclipse abrirá un editor de código que muestra el contenido de este archivo. Será algo como esto (los nombres de los paquetes y las clases, por supuesto, pueden diferir):

paquete paquete principal;

clase pública MiClase ( /** * @param args */ public static void main(String args) ( ) ) Los comandos que componen el cuerpo de la función se pueden escribir en lugar de un comentario generado automáticamente.// TODO Código auxiliar de método generado automáticamente . Escribiremos solo un comando que mostrará linea clasica

"¡Hola Mundo!":

System.out.println("¡Hola mundo!"); Ya sólo queda lanzar el programa. Para hacer esto, hagamos Ejecutar comando

Como resultado del funcionamiento del programa, los datos se envían a la llamada consola. En el sistema operativo MS DOS, toda la pantalla del monitor servía como consola. Eclipse nos abre la vista Consola, en la que (si todo se hace correctamente) se mostrará la línea “¡Hola, mundo!”.

- el resultado de la salida de nuestro programa. Ahora para reiniciar el programa (por ejemplo, si decidimos hacerle algunos cambios o necesitamos mostrárselo al profesor), podemos ir más la manera fácil - ejecute el comando Ejecutar --> Ejecutar último iniciado (ejecutar nuevamente solicitud previa

Sintaxis básica de Java

) o simplemente presione Ctrl + F11.

Definiciones

Operando es el valor involucrado en la operación.

Un método (función) es parte de un programa que tiene su propio nombre. Este nombre se puede utilizar en un programa como comando (dicho comando se denomina llamada a método). Cuando se llama a un método, se ejecutan los comandos que lo componen. Un método, similar a una operación, puede devolver un valor de resultado.

Una expresión es una secuencia de operaciones y llamadas a métodos realizadas en un orden determinado (según la prioridad de las operaciones, teniendo en cuenta los paréntesis), que produce un valor determinado cuando se calcula. Una variable es un área con nombre de la memoria de la computadora en la que un programa puede almacenar datos de un determinado tipo (llamado valor variable

) y acceda a estos datos utilizando el nombre de la variable.

Conceptos de programa y algoritmo (repetición) Propósito cualquier programa de computadora

- transformación de datos de entrada en datos de salida. El algoritmo del programa determina cómo los datos de entrada se convierten en datos de salida. Los datos de entrada pueden provenir de diferentes fuentes

. En proyectos educativos, estos datos se ingresan con mayor frecuencia mientras el programa se ejecuta usando el teclado y el mouse. En programas reales, también se pueden obtener de archivos, bases de datos, redes, provenir directamente de varios sensores, etc.

Los datos de salida (el resultado del programa) se muestran con mayor frecuencia en la pantalla, pero también se pueden guardar en un archivo o base de datos, o enviar a la red. Los programas integrados generan secuencias de control especiales como datos de salida que obligan al dispositivo al que está conectado el programa a realizar alguna acción.

  1. Al comenzar a escribir un programa, DEBE COMPRENDER INMEDIATAMENTE:
  2. ¿Por qué es necesario este programa (qué hace, en términos generales)?
  3. ¿Qué aportes tiene este programa (y de dónde viene)?
  4. ¿Cómo se debe convertir la entrada en salida (algoritmo)? Esta es la parte más difícil del pensamiento de un programador, pero hasta que no haya una respuesta a las tres preguntas anteriores, no tiene sentido empezar.

Al escribir un programa simple necesitas:

  1. Recibir datos de entrada.
  2. Implementar un algoritmo para convertir datos de entrada en datos de salida.
  3. Producir el resultado del programa (datos de salida): visualizarlo en pantalla, transmitirlo a través de la red, etc.

Cuando se trabaja con proyectos de software complejos, es necesario realizar un análisis detallado de los requisitos del programa (lo que puede requerir mucha comunicación con el cliente), realizar el diseño (determinar en qué partes constará el programa, cómo estas partes interactuarán entre sí, mostrarán varios aspectos de la estructura y comportamiento del programa en forma de diagramas, etc.). Pero en cualquier caso, empezar a programar sin comprender los datos de entrada y salida y sin comprender en términos generales la esencia del algoritmo. inútil. Y piense al menos en términos generales en la esencia del algoritmo, sin conocer los datos de entrada y salida. imposible.

Por lo tanto, comience siempre sus ejercicios definiendo los datos de entrada y salida. Si tienes alguna dificultad en este asunto, contacta con tu profesor.

Literatura sobre el tema:

Construcciones básicas del algoritmo (repetición)

¡Atención! En en esta etapa formación, ya debería tener conocimientos sobre este tema. Si no están allí y los materiales para revisión no son claros o insuficientes, ¡no podrá realizar las tareas!

Existe una necesidad urgente de consultar la literatura sobre este tema.

Entonces, un algoritmo es una secuencia de acciones para transformar datos de entrada en salida.

El algoritmo se puede escribir de tres formas principales:

    Los pasos individuales del algoritmo (independientemente de cómo esté escrito) están conectados entre sí mediante tres construcciones estándar que se implementan absolutamente en todos los lenguajes de programación:

    Ejecución secuencial. Los pasos se realizan uno tras otro.

    Derivación. Dependiendo del cumplimiento de una determinada condición (en el ejemplo considerado, ¿es x > y?), se ejecuta una u otra rama del programa.

Considere la tarea: mostrar todos los números pares menores que 10. Para esta tarea, puede usar un algoritmo basado en la ejecución secuencial de pasos y un algoritmo que usa un bucle. Los diagramas para ambas opciones se presentan en la figura:

El primer diagrama parece más claro, pero en el caso de que necesite generar no 5 números, sino 100, el diagrama (y el programa correspondiente a este algoritmo) aumentará 20 veces, y en el programa correspondiente al segundo algoritmo, solo uno El lugar cambiará: 10 cambiará a 100. Por eso las acciones repetitivas se diseñan en forma de ciclos, aunque en muchos casos puedes prescindir de ellas.

Recuerde: ¡el algoritmo debe construirse únicamente a partir de las tres estructuras nombradas!

Literatura sobre el tema:

1. Libro de texto escolar sobre informática.

Conceptos básicos de sintaxis de Java

  1. El lenguaje Java distingue entre mayúsculas y letras minúsculas. Esto significa que todos los nombres de funciones y palabras clave deben escribirse exactamente como aparecen en los ejemplos y referencias.
  2. Cada comando (declaración) en Java debe terminar con un punto y coma.
  3. Un programa Java consta de uno o más clases. Absolutamente toda la parte funcional del programa (es decir, lo que hace) debe colocarse en metodos una clase u otra. (La clase y el método, ambos conceptos de programación orientada a objetos, se tratarán en la tercera lección. La sintaxis de la clase también se tratará allí. En los primeros ejercicios, utilice las clases que Eclipse genera de forma predeterminada).
  4. Las clases se agrupan en paquetes.
  5. Al menos una de las clases debe tener un método main(), exactamente igual que en el ejemplo que vimos. (Al principio, no es necesario comprender o intentar recordar la ortografía correcta de este método; Eclipse generará todo por sí solo si marca la casilla requerida). Este método se ejecutará primero.

En el caso más simple, un programa puede consistir en un paquete (o incluso ningún paquete), una clase dentro del paquete y un único método main() dentro de la clase. Los comandos del programa se escribirán entre líneas.

principal vacío estático público (argumentos de cadena) (

y una llave de cierre ) que indica el final del cuerpo del método. Este enfoque debe seguirse al realizar ejercicios sencillos.

Comentarios

Los comentarios son notas explicativas que los programadores utilizan para mejorar la comprensión del código. Al compilar un programa, los comentarios se ignoran, por lo que se puede escribir cualquier cosa en ellos. Lo principal es mostrar que esta inscripción es un comentario y no debe interpretarse como comandos de programa. En Java esto se hace de una de las siguientes maneras:

  1. Se añaden dos barras diagonales //. Desde este momento hasta el final de la línea, puedes escribir lo que quieras; Java lo considerará un comentario.
  2. Los símbolos se colocan al principio del comentario y */ al final. En este caso, el comentario puede ocupar cualquier número de líneas.
  3. Particularmente destacado comentarios para la documentación, que se colocan entre los marcadores /** y */. Su uso se discutirá más adelante.

Reglas para escribir literales

oh diferentes formas registros literales

Los números enteros (literales enteros) en Java se pueden escribir de la forma habitual en forma decimal: 12345, +4, -11.

Además, puedes escribir números enteros en forma octal, comenzando con cero (0777, -056) y en forma hexadecimal, comenzando con cero y letra latina x(0xFFFF, 0x14, 0xA1BC).

Los literales reales se escriben en notación decimal, con la parte entera separada por un punto fraccionario.

Se puede escribir un numero real en forma de punto flotante, por ejemplo: 5.4e19, 17E-11, -123e+4. La parte del número que viene antes de la letra e se llama mantisa y la parte que viene después de la letra e se llama exponente. La notación significa lo siguiente: debes elevar 10 a la potencia del orden y multiplicar por la mantisa. A veces es más conveniente escribir 1e-9 que 0,000000001.

Los caracteres individuales se escriben con apóstrofes, por ejemplo, "a", "D", "@".

Hay algunos caracteres especiales y de control que se escriben mediante una secuencia de escape especial. Los más comunes se enumeran en la tabla:

La secuencia de escape también está encerrada entre apóstrofes.

La primera fila de la tabla dice que cualquier carácter se puede especificar usando su código (codificación decimal de 0 a 255), escribiendo este código en sistema octal Estimación. Por ejemplo, se escribirá la letra "zh" en la codificación CP1251 secuencia de escape "\346"

Si es necesario, puede especificar el código de cualquier carácter en la codificación Unicode, después de la barra invertida y la letra latina u, en cuatro caracteres hexadecimales. Por ejemplo, "\u0055" es la letra U.

Las cadenas de caracteres se escriben entre comillas. Las cotizaciones de apertura y cierre deben estar en la misma línea de código.

Para cadenas, se define la operación de concatenación +, que permite combinar varias cadenas en una (“asociandolas” entre sí).

Si la constante de cadena es demasiado larga y no se comprende bien en código de programa al escribirlo en una línea, puede escribirlo en varias líneas, conectándolas mediante la operación de concatenación de cadenas. Por ejemplo:

"Esta es una constante de cadena muy larga escrita" + "en dos líneas del texto fuente"

Los caracteres de control y los códigos se escriben dentro de la línea de la misma forma con una barra invertida (pero sin apóstrofes).

Los literales booleanos son verdaderos y falsos.

Identificadores

sobre las reglas del buen estilo

Al programar, siempre es necesario crear identificadores para nombrar objetos.

El identificador puede consistir en letras, números, el guión bajo _ y el signo de dólar $ (este último no se recomienda; Java lo usa para sus propias necesidades). El identificador no puede comenzar con un número. Las palabras clave (o literales) de Java no se pueden utilizar como identificadores. verdadero, falso Y nulo).

Como se señaló anteriormente, El lenguaje Java distingue entre letras simples y minúsculas.. Esto significa que myAge, myage y MyAge son nombres de objetos completamente diferentes. Atención: ¡un error de registro es un caso muy común!

Los nombres de las clases comienzan con una letra mayúscula; si el nombre consta de varias palabras, cada palabra comienza con una letra mayúscula. Por ejemplo: MiClase, Libro.

Los nombres de métodos y variables comienzan con minúsculas (letras minúsculas); si el nombre contiene varias palabras, cada palabra posterior comienza con mayúscula. Por ejemplo, myVar, x, y, newBigCounter.

Los nombres constantes están escritos íntegramente en letras mayúsculas; Si el nombre contiene varias palabras, se coloca un guión bajo entre ellas. Por ejemplo, PI, COUNT_OF_MONTHS.

Obtendrá muchos beneficios si utiliza estas pautas. Una de ellas es que sabrá exactamente cómo poner letras mayúsculas y minúsculas cuando utilice las bibliotecas estándar de Java, cuyos desarrolladores siguieron las pautas.

Tipos de datos

acerca de los tipos de datos de Java

El tipo más utilizado para almacenar números enteros en Java es int.

En general, existen cuatro tipos de enteros en el lenguaje Java: byte, short, int, long. Se diferencian en la cantidad de memoria que se asignará a la variable y, en consecuencia, en el rango de valores que se pueden almacenar en esta variable. El tipo más utilizado, int, ocupa 4 bytes de memoria y es adecuado para almacenar números desde -2147483648 hasta 2147483647. El tipo byte utiliza la menor cantidad de memoria y es adecuado para trabajar con números pequeños (de -128 a 127). Los tipos corto y largo ocupan 2 y 8 bytes, respectivamente.

Para números reales, el tipo doble es adecuado.

Los números reales (reales) (o números de coma flotante) se presentan en dos tipos: flotantes y dobles. El tipo flotante ocupa 4 bytes de memoria y no proporciona mucha precisión cuando se trabaja con números muy grandes o muy pequeños. Se recomienda utilizar cuando parte fraccionaria es necesario, pero no se requiere una gran precisión (por ejemplo, para medir distancias en metros, pero teniendo en cuenta centímetros y milímetros, o medir precios en rublos, teniendo en cuenta kopeks). Si necesita cálculos más precisos, se recomienda operar con valores dobles (por ejemplo, una variable de este tipo puede almacenar el valor del seno de un ángulo).

Java considera que los literales reales como 5.3, 8.0, 2e-3 son de tipo double. Si se van a utilizar en un programa como valores flotantes, deben terminar con la letra f: 5.3f, 8.0f, 2e-3f.

Se utiliza para almacenar caracteres individuales. tipo char. Java lo considera un subconjunto de los tipos de números enteros (ya que cada carácter tiene su propio código Unicode), por lo que todas las operaciones con números enteros se aplican a char.

Los valores booleanos (verdadero o falso) se representan mediante el tipo booleano.

Entonces hay ocho definidos en Java. tipos simples, cuyas características se presentan en mesa:

Declaración de variables

Java (como muchos otros lenguajes) requiere una descripción antes de poder usarse. Describir una variable significa darle un nombre y determinar su tipo.

Al declarar una variable, primero se especifica el tipo (que puede ser uno de los tipos simples, el nombre de una clase o interfaz), luego el nombre de la variable. Si se necesita una variable inicializar(asignar valor inicial), el valor inicial se indica después del nombre mediante un signo igual. Puedes declarar varias variables más del mismo tipo, separadas por comas.

Ejemplos de declaraciones de variables:

intx; // Declarando una variable entera x doble a, b; // Declaración de dos variables reales a y b letra de carácter = "Z"; // Declaración del carácter variable letra, inicialización con el valor inicial "Z" booleano b1 = verdadero, b2, b3 = falso; // Declaración de tres variables booleanas, la primera de ellas será verdadera, la última será falsa

Operaciones básicas del lenguaje

Variables y en las que pueden participar (a partir de las cuales, a su vez, se pueden construir otras complejas). Veamos las operaciones más simples del lenguaje Java.

Operaciones matemáticas

Operaciones de comparación, el resultado es un valor booleano: verdadero o falso

Operaciones lógicas

acerca de las operaciones de Java

Operaciones && y || se diferencian en que no necesariamente calculan el valor del segundo. Por ejemplo, && evalúa el valor del primer operando e inmediatamente devuelve falso si es falso, mientras que || devuelve verdadero inmediatamente si ve que el primer operando es verdadero. Java tiene operaciones similares a & y | , evalúan los valores de ambos operandos antes de realizar una operación sobre ellos.

Operaciones de turno

(trabajar con la representación de bits del primer operando)

Operaciones de bits

(trabajar con representación de bits de operandos)

¿Operación?:

¿Operación?: ternaria, es decir, tiene tres operandos. El primer operando es una condición, una expresión. tipo booleano. El segundo y tercer operando son expresiones de cualquier otro tipo. La operación funciona de la siguiente manera: si la condición es verdadera, devuelve como resultado su segundo operando, y si es falsa, el tercero.

Por ejemplo, ¿la expresión (5 > 3)? 7+1: ¿2*2 tendrá el valor 8 y la expresión (5 == 3)? 7+1: 2*2 - valor 4. Esta notación no parece muy clara, pero los programadores la utilizan a menudo para acortar su código. Entonces, en lugar de una secuencia de comandos:

si (x > 0) y = 45 + a*2; // si la declaración se analiza a continuación de lo contrario y = 45 - b*3;

puedes escribir:

Y = 45 + ((x > 0)? a*2: -b*3);

Operador de asignación

Una vez que se describe una variable, se puede manipular en el programa. En particular, se le puede asignar un valor del tipo apropiado. Luego, en el futuro, cuando se utilice esta variable en cualquier expresión, este valor actual se sustituirá automáticamente.

Un valor se asocia con una variable mediante una asignación. En Java se escribe con un simple signo igual:

Variable = expresión;

Siempre hay una variable a la izquierda del operador de asignación. a la derecha debe coincidir con el tipo de variable. Puede ser simplemente (por ejemplo, un número o símbolo):

X = 7; // a la variable x se le asigna el valor 7 letra = "Q"; // a la letra variable se le asigna el valor "Q"

EN caso general una expresión es algo que se puede evaluar (por ejemplo, el resultado operación matemática o el resultado devuelto por algún método):

A = 7,5 + 2,4; // a la variable a se le asigna 9,9 como resultado de los cálculos

Además de los literales, también pueden estar presentes otras variables en una expresión. Se reemplazan con su valor actual. Como resultado de ejecutar el comando:

B = a + 1;

la variable b tomará el valor 10,9.

Entonces, el operador de asignación funciona de la siguiente manera. Primero, se calcula el valor de la expresión del lado derecho y luego el resultado resultante se asigna a la variable especificada en el lado izquierdo. Incluso es posible la siguiente situación:

X = x + 4;

Este comando incrementa el valor actual de la variable entera x en 4.

A siguientes comandos escrito incorrectamente y no funcionará:

5 = x + 7; // debería haber una variable a la izquierda x + 3 = 14; // debería haber sólo una variable a la izquierda x = 4,5; // la variable x solo puede tomar valores enteros

Eclipse intentará indicar el error en estas líneas antes de que se ejecute el programa, colocando señales de advertencia en los márgenes del editor de código. Puedes verlo hacerlo.

sobre el casting de tipos

Cuando a una variable de un tipo se le asigna un valor de otro tipo, se utiliza tipo de fundición. Para tipos numéricos (byte, short, int, long, float, double, char), esto sucede automáticamente si el tipo de variable que se cambia puede "acomodar" un valor de otro tipo.

Por ejemplo, si asigna una variable de tipo int a un valor de tipo byte, el byte se convierte automáticamente en un int. De manera similar, el tipo float se puede convertir al tipo double, etc.

Si intenta asignar una variable de un tipo menos preciso (por ejemplo, byte) a un valor de un tipo más preciso (por ejemplo, int), el compilador generará un mensaje de error.

Para emitir un tipo puedes usar operador de reparto– antes de la expresión para la cual queremos realizar una conversión de tipo, colocamos paréntesis con el tipo al que se le está realizando la conversión dentro del paréntesis. Cuando se convierte un tipo entero de mayor precisión en un tipo entero de menor precisión, se puede realizar una división de módulo por el rango permitido del tipo al que se realiza la conversión, y cuando se convierte una expresión de tipo double en una expresión de tipo float, se reducirá la precisión de la representación de la expresión.

largo j = (largo) 1,0; //usa el operador de conversión de tipo a largo, j = 1 char ch = (char )1001; //usa el operador de conversión para char, ch = "d" byte b2 = (byte)(100); //usa el operador de conversión de tipo de int a byte, b2 = 100 byte b3 = (byte)(100 * 2); //¡atención! se produce la división de módulo, b3 = -56

El error de discrepancia de tipos ocurre a menudo con literales reales. Por ejemplo, no puedes asignar a = 7,5 + 2,4; si la variable a es de tipo float, ya que los literales 7.5 y 2.4 se consideran de tipo double. Para evitar errores, debe utilizar la conversión de tipos:

A = (flotación)(7,5 + 2,4);

o especificar que los literales también sean de tipo float:

A = 7,5f + 2,4f; // este también es un comando válido

Casi todas las operaciones binarias tienen su propio tipo de operador de asignación. Por ejemplo, para la operación de suma + hay operador unario asignación += , que aumenta el valor del operando en una cantidad determinada:

X+= 8; // igual que x = x + 8 (x aumenta en 8)

De manera similar para otras operaciones: operadores *=, -=, /=, %=, &= ^= etc.:

X*= 3; // igual que x = x * 3 (x aumenta 3 veces) b1 ^= b2; // igual que b1 = b1 ^ b2

Ejercicio 1

Declare dos variables enteras, asígneles cualquier valor. Imprime su suma y producto.

Clave: puede utilizar un proyecto ya creado en Eclipse insertando los comandos necesarios después del comando para imprimir la línea "¡Hola, mundo!" o en lugar de ello.

Operadores de incremento y decremento

sobre operadores de incremento y decremento

Los operadores de incremento y decremento ++ y –– incrementan o disminuyen el valor de un operando. Es mucho más conveniente utilizar el comando x++; en lugar del comando x = x+1;

Los operadores de incremento y decremento también devuelven un valor. Esto significa que es legal ejecutar el comando.

Y = 7*x++;

Como resultado, la variable x aumentará en 1 y la variable y tomará un valor siete veces el antiguo valor de x. También puede ejecutar el siguiente comando:

Y = 7 * ++x;

Como resultado, la variable x aumentará en 1 y la variable y tomará un valor siete veces el nuevo valor de x.

Declaración condicional si

La forma más sencilla de grabar. operador condicional tiene la forma:

comando si (condición)

La condición entre paréntesis es una expresión lógica, es decir puede ser verdadero o falso. Si la condición es verdadera, el comando se ejecutará; de lo contrario, no sucederá nada. Por ejemplo:

if (x // si el valor de la variable x es menor que 17, asigna x 17

Si es necesario que se ejecute algún otro comando cuando la condición es falsa, utilice la forma extendida de la sentencia if:

si (condición) comando1 más comando2

sobre el else if construir

En el ejemplo anterior, es posible que deseemos establecer x en 5 si la condición x no se ejecuta (por qué lo necesitamos es otra cuestión).

si (x más x = 5;

Si necesita utilizar varias condiciones mutuamente excluyentes, se pueden escribir de la siguiente manera:

if (condición1) comando1 else if (condición2) comando2 else if (condición3) comando3 ... else comandoN

Ejercicio 2

Declare dos variables enteras, asígneles cualquier valor. Usando la declaración if, busque e imprima el máximo de ellos.

Clave: El algoritmo para encontrar el máximo se consideró repitiendo las construcciones principales del algoritmo.

Comandos compuestos

Se pueden combinar varios comandos de Java en un comando compuesto utilizando llaves (). Por ejemplo, puedes escribir:

( a = 12; letra = "D" ; )

Los comandos compuestos se pueden utilizar en cualquier lugar donde se puedan utilizar comandos normales. Por ejemplo, en una declaración if, si cuando se cumple una condición se deben realizar varias acciones:

si (x "S"; ) más ( x = 5; )

La estructura de llaves también se llama bloque de comandos, y las llaves son límites de bloque.

Tenga en cuenta que la forma de notación utilizada en el ejemplo (cuando los límites de los bloques se colocan en lineas separadas, y el contenido del bloque se escribe con sangría desde sus límites), es opcional. Esta es solo una regla de estilo para hacer que los programas sean más comprensibles y no confundirse con las llaves, que deben usarse con bastante frecuencia en un programa Java.

sobre el operador de selección de interruptor

Declaración de selección de interruptor

Muchas veces el comando a ejecutar depende del valor de alguna variable (o expresión). Por ejemplo, se le pide al usuario que ingrese un símbolo de operación y, dependiendo del símbolo ingresado, se requiere que el resultado de la suma, resta, etc. se muestre en la pantalla. o, si se ingresa un carácter incorrecto, un mensaje de error. En este caso, es conveniente utilizar la instrucción de selección de cambio, que tiene el siguiente formulario entradas:

switch (expresión) (valor de caso1: secuencia de comando 1 interrupción; valor de caso2: secuencia de comando 2 interrupción; ... predeterminado: secuencia de comando predeterminada)

Valor1, valor2, etc. - Se trata de constantes o expresiones en las que sólo intervienen constantes. La expresión entre paréntesis después de la palabra clave switch puede contener variables. Esta expresión se evalúa y luego se determina que el resultado coincide con uno de los valores después de la palabra clave case. Si se encuentra tal coincidencia, se ejecuta toda la secuencia de comandos ubicados entre los dos puntos y el comando de interrupción más cercano. Si no se encuentra ninguna coincidencia, se ejecutará la secuencia predeterminada de comandos que siguen a la palabra clave predeterminada. Por ejemplo:

ópera de carbón; // Señal de operación, el usuario la seleccionará ... // Supondremos que en este momento el usuario ha elegido un signo cambiar (oper) ( caso "+" : System.out.println(a + b); descanso; caso "-" : System.out.println(a - b); descanso; caso "*" : System.out. println(a * b); descanso; predeterminado: System.out.println( "Señal de operación no válida"); }

Puede omitir la sección predeterminada. En este caso, si no se encuentra ninguna coincidencia, no se ejecutará ningún comando.

Operador de bucle while

El bucle while tiene la siguiente forma:

comando while (condición)

Si la condición entre paréntesis (que es una expresión booleana) es verdadera, se ejecutará el comando: cuerpo de bucle(esto podría ser comando simple o una secuencia de comandos entre llaves), después de lo cual el programa volverá a ejecutar esa declaración nuevamente y lo repetirá hasta que la condición sea falsa.

Por lo tanto, para que el programa no entre en un bucle sin fin y se congele, el cuerpo del bucle debe proporcionar una opción de salida, es decir, por ejemplo, los comandos en el cuerpo del bucle deben influir de alguna manera en las variables incluidas en la condición.

Por ejemplo, el siguiente fragmento de programa imprime números pares del 2 al 10:

entero x = 2;<= 10){ System.out.println(x); x += 2; }

mientras(x

sobre el bucle while con poscondición

Hay otra forma de escribir un bucle while:

hacer comando mientras (condición)

Cuando se utiliza esta opción, el comando se ejecuta primero y luego se verifica la condición. Ambas opciones funcionan igual, pero en el segundo caso el cuerpo del bucle (comando) se ejecutará al menos una vez, incluso si la condición inicialmente es falsa.

Ejercicio 3

Clave: Utilice un bucle while para imprimir todos los números impares del 1 al 10.

Cambie ligeramente el algoritmo para generar números pares.

El operador de bucle for

Un bucle for se utiliza normalmente cuando se sabe de antemano cuántas veces se debe ejecutar un comando (o secuencia de comandos). Tiene la siguiente forma:

Antes de que comience el ciclo, se ejecuta el comando de inicialización. Luego se verifica la condición de transición (que es una expresión booleana). Si esta condición es verdadera, se ejecuta el comando (o bloque de comandos entre llaves) que constituye el cuerpo del bucle. Luego se ejecuta el comando de salto y todo comienza de nuevo. Una instrucción de salto normalmente cambia una variable que afecta la verdad de la condición, y una instrucción de inicialización es una descripción de esa variable.

Normalmente un bucle for se utiliza así:

para (int i = 1; i<= 10; i++) тело_цикла;

En este ejemplo, loop_body se ejecutará exactamente 10 veces. En este caso, en cada iteración, estará disponible una variable i (se llama variable de bucle), que recorre secuencialmente los valores del 1 al 10. El siguiente fragmento de programa muestra números pares del 2 al 10 (similar al ejemplo del bucle while):

para (int i = 1; i<= 5; i++) System.out.println(i*2);

Ejercicio 4

Utilice un bucle for para imprimir todos los números impares del 1 al 10.

romper y continuar declaraciones

Cuando el cuerpo de un bucle (for o while) consta de varios comandos, puede surgir la situación de que en la siguiente iteración no sea necesario ejecutarlos todos. En este caso, las declaraciones break y continue son útiles.

La instrucción break detiene la ejecución del bucle actual, independientemente de si se cumple su condición de terminación.

La instrucción continue finaliza la iteración actual del bucle. Es decir, si este operador se encuentra en el cuerpo del bucle, los comandos restantes que le siguen se omiten y comienza una nueva iteración (repetición) del bucle.

Conclusión

A pesar de que el material de la primera lección es bastante extenso, no debería causar dificultades a los estudiantes que ya están familiarizados con al menos un lenguaje de programación, ya que las construcciones en todos los lenguajes son iguales y solo es necesario dominar las reglas para escribirlos (sintaxis). Si no está familiarizado con otros lenguajes de programación, deberá hacer más tareas en el manual y resolver problemas adicionales. La mejor opción en este caso sería leer los capítulos recomendados de la literatura propuesta antes de la siguiente lección.

Lectura adicional

1. Vyazovik N.A. Programación en Java. (capítulos 1 - 4, 7, 10)

2. Khabibullin I.Sh. Tutorial de Java 2 (Capítulo 1)

Preste especial atención a los tipos de datos de Java y las reglas de conversión, que no se tratan en detalle en este tutorial. Un programador profesional siempre debe controlar en sus programas la posibilidad de que el valor de una variable supere el rango aceptable para su tipo. Los errores relacionados con la conversión de tipos son algunos de los más comunes y difíciles de detectar. Se recomienda encarecidamente la lectura de los capítulos 4 y 7 del primer libro a todos los estudiantes que busquen una calificación excelente.




Arriba