основы java переменные, циклы

Post on 14-Apr-2017

990 Views

Category:

Software

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Основы Java

Сергей Немчинский, foxmindEd, 2016

Переменные, циклы, условные операторы или как вообще писать программу

Hello World!

class HelloWorld { public static void main(String[] args) {

System.out.println("Hello World!"); }

}

Переменные

Что такое переменная Тип переменной

Примитивные типы Ссылочные типы

Описание переменной тип имя [ = значение];

Присвоение значения

Примитивные типы

Целочисленные типы

Тип Размер (бит) Диапазон

byte 8 бит от -128 до 127short 16 бит от -32768 до 32767char 16 бит от 0 до 65535

int 32 бит от -2147483648 до 2147483647

long 64 бит от -9223372036854775808 до 9223372036854775807

Целочисленные типыpublic class IntegralTypes {

public static void main(String[] args) { byte b = 228; // Вот тут будет ошибка, т.к. у нас диапазон от -128 до 127! short s = 1337; int i = 1488; long l = 2147483648L; // Постфикс l или L обозначает литералы типа long System.out.println(i); System.out.println(b); System.out.println(s); System.out.println(l); }

}

Целочисленные типыpublic class Characters {

public static void main(String[] args) { char a = 'a', b, c = 'c'; b = (char) ((a + c) / 2); // Можно складывать, вычитать, делить и умножать // Но из-за особенностей арифметики Java результат // приходится приводить к типу char явно System.out.println(b); // Выведет символ 'b'

} }

Типы с плавающей точкой

Тип Размер (бит) Диапазонfloat 32 от -1.4e-45f до 3.4e+38fdouble 64 от -4.9e-324 до 1.7е+308

Типы с плавающей точкойpublic class FloatingPointTypes {

public static void main(String[] args) {double a, b = 4.12; a = 22.1 + b; float pi = 3.14f; // При использовании типа float // требуется указывать суффикс f или F // так как дробные литералы типа // double float anotherPi = (float) 3.14; // Можно привести явно double c = 27; double d = pi * c; System.out.println(d); }

}

Логический тип

Тип Размер (бит) Значение

boolean1 (в массивах), 32 (не в массивах используется int)

true (истина) или false (ложь)

Ссылочные данныеpublic class Strings {

public static void main(String[] args) { String a = "Hello", b = "World"; System.out.println(a + " " + b); // Здесь + означает объединение (конкатенацию) строк // Пробел не вставляется автоматически

// Строки конкатенируются слева направо, надо помнить это когда соединяешь строку и примитив String c = 2 + 2 + ""; // "4" String d = "" + 2 + 2; // "22" d = "" + (2 + 2); // а теперь d тоже "4" String foo = "a string"; String bar = "a string"; // bar будет указывать на тот же объект что и foo String baz = new String("a string"); // Чтобы гарантированно создать новую строку надо вызвать конструктор System.out.println("foo == bar ? " + (foo == bar)); // == сравнивает ссылки на объекты System.out.println("foo равен bar ? " + (foo.equals(bar))); // Метод equals служит для проверки двух объектов на равенство System.out.println("foo == baz ? " + (foo == baz)); System.out.println("foo равен baz ? " + (foo.equals(baz)));

}}

Обертки Тип Класс-обертка

byte Byte

short Short

int Integer

long Long

char Character

float Float

double Double

Обертки int i; Integer boxed; // Обычное создание объекта

boxed = new Integer(i); // Фабричный метод boxed = Integer.valueOf(i); // Автоматическая упаковка, компилятор // просто вставит вызов Integer.valueOf boxed = i;

Переменные

Инициализация переменных Константы, модификатор final

Операции

Арифметические операции Инкремент и декремент Операции отношения Логические операции Поразрядные операции Класс Math Приоритет операций

Арифметические операцииint a1 = 3 + 4; // результат равен 7int a2 = 10 - 7; //результат равен 3int a3 = 10 * 5; //результат равен 50double a4 = 14.0 / 5.0; //результат равен 2.8double a5 = 14.0 % 5.0; //результат равен 4int b1 = 5;int c1 = ++b1; // c1=6; b1=6int b2 = 5;int c2 = b2++; // c2=5; b2=6int b3 = 5;int c3 = --b3; // c3=4; b3=4int b4 = 5;int c4 = b4--; // c4=5; b4=4

Логические (побитовые) операции

& логическое умножение | логическое сложение ^ исключающее ИЛИ ~ отрицание << сдвиг слево >> сдвиг вправо

Операции сравнения

== равенство != неравенство < меньше > больше <= меньше или равно => больше или равно|| логическое ИЛИ && логическое И

Операции сравненияboolean a1 = (5 > 6) || (4 < 6); // 5 > 6 - false, 4 < 6 - true, поэтому возвращается trueboolean a2 = (5 > 6) || (4 > 6); // 5 > 6 - false, 4 > 6 - false, поэтому возвращается falseboolean a3 = (5 > 6) && (4 < 6); // 5 > 6 - false, 4 < 6 - true, поэтому возвращается falseboolean a4 = (50 > 6) && (4 / 2 < 3); // 50 > 6 - true, 4/2 < 3 - true, поэтому возвращается trueboolean a5 = (5 > 6) ^ (4 < 6); // 5 > 6 - false, 4 < 6 - true, поэтому возвращается trueboolean a6 = (50 > 6) ^ (4 / 2 < 3); // 50 > 6 - true, 4/2 < 3 - true, поэтому возвращается false

Управляющие операции

Оператор ifclass Test {

public static void main(String[] args){ if(true){

System.out.println("Тест прошёл успешно."); }

} }

Управляющие операции Оператор elseclass AnotherTest {

public static void main(String[] args){ if(false){ System.out.println("Тест прошёл не очень успешно.");

} else { System.out.println("Тест прошёл успешно.");

} }

}

Управляющие операции Оператор switchclass SwitchTest {

public static void main(String[] args) { int i=2; switch(i) { case 1: System.out.println("Тест работает."); break; case 2: System.out.println("Тест добрый."); break; case 3: System.out.println("Тест поможет вам."); break; } }

}

Управляющие операции Ключевое слово break Ключевое слово deafultclass DefaultTest {

public static void main(String[] args) { int i = 152; switch(i) { case 1: System.out.println("Тест работает"); break; case 2: System.out.println("Тест добрый"); break; case 3: System.out.println("Тест поможет вам"); break; default: System.out.println("Тест интересный"); break; } }

}

Область видимости

Блоки Локальные переменные Область видимости Тернарный оператор

Циклы

Понятие цикла Условие выхода Индекс цикла Оператор break Оператор continue Оператор return

Цикл while

public class Цикл { public static void main (String [] args){ int i = 0; while (i < 10){ System.out.print (i++); } }

}

Цикл do while

public class Цикл { public static void main (String [] args ){ int i = 0; do{ System.out.print (++i); } while (i < 10); }

}

Цикл for

public class Цикл { public static void main (String [] args ){ for (int i = 0; i < 10; ++i){ System.out.print ("Ku-Ku");//Обратите внимание на метод print // В отличие от println метод print не // переводит курсор на новую строку } } }

Цикл for-each

public class ForeachArray { public static void main(String args[]) {String[] data = {"Toronto","Stockholm"}; for (String s : data) { System.out.println(s); } }

}

Массивы

Понятие массива Объявление Создание и инициализация Размер массива Многомерные массивы

Массивы

// declares an array of integers int[] anArray;// create an array of integers anArray = new int[10];anArray[0] = 100; // initialize first element anArray[1] = 200; // initialize second element anArray[2] = 300; // and so forthint[] anArray = { 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000 };

Массивыclass MultiDimArrayDemo {

public static void main(String[] args) {String[][] names = {

{"Mr. ", "Mrs. ", "Ms. "}, {"Smith", "Jones«

} }; // Mr. SmithSystem.out.println(names[0][0] + names[1][0]); // Ms. Jones System.out.println(names[0][2] + names[1][1]);

} }

Массивыclass ArrayCopyDemo {

public static void main(String[] args) { char[] copyFrom = { 'd', 'e', 'c', 'a', 'f', 'f', 'e', 'i', 'n', 'a', 't', 'e', 'd' }; char[] copyTo = new char[7];System.arraycopy(copyFrom, 2, copyTo, 0, 7);System.out.println(new String(copyTo));

} }

Методы Понятие метода Сигнатура Тело метода Вызов метода Параметры Возвращение значения Перегрузка методов Рекурсия Произвольное количество параметров

Методы Modifiers—such as public, private, and others you will learn about

later. The return type—the data type of the value returned by the

method, or void if the method does not return a value. The method name—the rules for field names apply to method

names as well, but the convention is a little different. The parameter list in parenthesis—a comma-delimited list of input

parameters, preceded by their data types, enclosed by parentheses, (). If there are no parameters, you must use empty parentheses.

An exception list—to be discussed later. The method body, enclosed between braces—the method's code,

including the declaration of local variables, goes here.

Методы

public double calculateAnswer(double wingSpan, int numberOfEngines, double length, double grossTons) {

//do the calculation here }

Методыpublic class DataArtist { ... public void draw(String s) { ... } public void draw(int i) { ... } public void draw(double f) { ... } public void draw(int i, double f) { ... } }

Методыpublic double computePayment( double loanAmt, double rate, double futureValue, int numPeriods) { double interest = rate / 100.0; double partial1 = Math.pow((1 + interest), - numPeriods); double denominator = (1 - partial1) / interest; double answer = (-loanAmt / denominator) - ((futureValue * partial1) / denominator); return answer; }

Методыpublic Polygon polygonFrom(Point... corners) {

int numberOfSides = corners.length; double squareOfSide1, lengthOfSide1; squareOfSide1 = (corners[1].x - corners[0].x) *

(corners[1].x - corners[0].x) + (corners[1].y - corners[0].y) * (corners[1].y - corners[0].y);

lengthOfSide1 = Math.sqrt(squareOfSide1); // more method body code follows that creates and returns a // polygon connecting the Points

}

Ваши вопросы

http://foxmindEd.com

top related