classUnaryOperator{ publicstaticvoidmain(String[] args){ double number = 5.2, resultNumber; boolean flag = false; System.out.println("+number = " + +number); // number is equal to 5.2 here. System.out.println("-number = " + -number); // number is equal to -5.2 here. // ++number is equivalent to number = number + 1 System.out.println("number = " + ++number); // number is equal to 6.2 here.
// -- number is equivalent to number = number - 1 System.out.println("number = " + --number); // number is equal to 5.2 here.
System.out.println("!flag = " + !flag); // flag is still false. } }
输出:
1 2 3 4 5
+number = 5.2 -number = -5.2 number = 6.2 number = 5.2 !flag = true
classRelationalOperator{ publicstaticvoidmain(String[] args){ int number1 = 5, number2 = 6;
if (number1 > number2) { System.out.println("number1 is greater than number2."); } else { System.out.println("number2 is greater than number1."); } } }
输出:
1
number2 is greater than number1.
instanceof 操作符
除了关系运算符外,还有一个类型比较运算符instanceof,它将对象与指定类型进行比较。例如,
1 2 3 4 5 6 7 8 9 10 11
classinstanceofOperator{ publicstaticvoidmain(String[] args){ String test = "asdf"; boolean result; result = test instanceof String; System.out.println("Is test an object of String? " + result); } } // Is test an object of String? true
classLogicalOperator{ publicstaticvoidmain(String[] args){ int number1 = 1, number2 = 2, number3 = 9; boolean result; // At least one expression needs to be true for the result to be true result = (number1 > number2) || (number3 > number1);
// result will be true because (number1 > number2) is true System.out.println(result); // All expression must be true from result to be true result = (number1 > number2) && (number3 > number1);
// result will be false because (number3 > number1) is false System.out.println(result); } } // true // false
三元运算符
1
variable = Expression ? expression1 : expression2
1 2 3 4 5 6 7 8 9 10 11
classConditionalOperator{ publicstaticvoidmain(String[] args){ int februaryDays = 29; String result; result = (februaryDays == 28) ? "Not a leap year" : "Leap year"; System.out.println(result); } } // Leap year
/* * Enter float: 2.343 * Float entered = 2.343 * Enter double: -23.4 * Double entered = -23.4 * Enter text: Hey! * Text entered = Hey! */
Java表达式、语句、代码块
表达式
Java表达式有:变量、运算符、字面量和方法调用组成.
1 2 3 4 5 6 7
int score; score = 90; // score = 90 是一个表达式返回给 int
Double a = 2.2, b = 3.4, result; result = a + b - 3.4; // a+b-3.4 是一个表达式
语句
在Java中,每个一个语句是最小执行单元.
1 2
int score = 9*5; // 在这里,我们有一个语句。完整执行包括将整数9和5相乘,然后将结果分配给变量score
表达式语句
我们可以通过;将表达式来将表达式转换为语句.
1 2 3 4
// 表达式 number = 10 // 语句 number = 10;
声明语句
Java中声明语句,是声明一个变量:
1
Double tax = 9.5;
Java代码块
1 2 3 4 5 6 7 8 9 10 11
classMain{ publicstaticvoidmain(String[] args){ String band = "Beatles"; if (band == "Beatles") { // start of block System.out.print("Hey "); System.out.print("Jude!"); } // end of block } }
代码块是用大括号{}括起来的一组语句(零个或多个).
注释
Java提供两种注释方式: 单行和多行的.
1 2 3 4 5 6 7 8 9 10
/* This is an example of multi-line comment. * The program prints "Hello, World!" to the standard output. */ classMain{ publicstaticvoidmain(String[] args){ { // prints "Hello, World!" System.out.println("Hello, World!"); } }
数组
声明数组
1 2 3 4 5 6 7 8
String[] array = new String[100];
// dataType[] arrayName; // 声明一个数组 double[] data;
// 给变量赋于内存 data = new Double[10];
上面声明了长度为100的字符串类型数组.
初始化数组
1 2 3 4 5 6 7 8 9 10
//declare and initialize and array int[] age = {12, 4, 5, 2, 5};
classMain{ publicstaticvoidmain(String[] args){ // create an array int[] age = {12, 4, 5, 2, 5};
// access each array elements System.out.println("Accessing Elements of Array:"); System.out.println("First Element: " + age[0]); System.out.println("Second Element: " + age[1]); System.out.println("Third Element: " + age[2]); System.out.println("Fourth Element: " + age[3]); System.out.println("Fifth Element: " + age[4]); } } // Accessing Elements of Array: // First Element: 12 // Second Element: 4 // Third Element: 5 // Fourth Element: 2 // Fifth Element: 5
遍历数组
Java中常用 for和for-each遍历数组
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
classMain{ publicstaticvoidmain(String[] args){ // create an array int[] age = {12, 4, 5};
// loop through the array // using for loop System.out.println("Using for Loop:"); for(int i = 0; i < age.length; i++) { System.out.println(age[i]); } } } // Using for Loop: // 12 // 4 // 5
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
classMain{ publicstaticvoidmain(String[] args){ // create an array int[] age = {12, 4, 5};
// loop through the array // using for loop System.out.println("Using for-each Loop:"); for(int a : age) { System.out.println(a); } } } //Using for-each Loop: // 12 // 4 // 5
classMain{ publicstaticvoidmain(String[] args){ int [] source = {1, 2, 3, 4, 5, 6}; int [] destination = newint[6];
// iterate and copy elements from source to destination for (int i = 0; i < source.length; ++i) { destination[i] = source[i]; } // converting array to string System.out.println(Arrays.toString(destination)); } } // [1, 2, 3, 4, 5, 6]
switch (expression) { case valb1: // code to be executed if // expression is equal to value1 break; case value2: // code to be executed if // expression is equal to value2 break; ... ... default: // default statements }
// Java program to find the sum of positive numbers import java.util.Scanner;
classMain{ publicstaticvoidmain(String[] args){ int sum = 0;
// create an object of Scanner class Scanner input = new Scanner(System.in);
// take integer input from the user System.out.println("Enter a number"); int number = input.nextInt(); // while loop continues // until entered number is positive while (number >= 0) { // add only positive numbers sum += number;
System.out.println("Enter a number"); number = input.nextInt(); } System.out.println("Sum = " + sum); input.close(); } }
// 输出 // Enter a number // 25 // Enter a number // 9 // Enter a number // 5 // Enter a number // -3 // Sum = 39
classUserInputSum{ publicstaticvoidmain(String[] args){ Double number, sum = 0.0;
// create an object of Scanner Scanner input = new Scanner(System.in); while (true) { System.out.print("Enter a number: ");
// takes double input from user number = input.nextDouble(); // if number is negative the loop terminates if (number < 0.0) { break; } sum += number; } System.out.println("Sum = " + sum); } } // 输出 // Enter a number: 3.2 // Enter a number: 5 // Enter a number: 2.3 // Enter a number: 0 // Enter a number: -4.5 // Sum = 10.5