C2 Java基本语法

关键字keyword和保留字reserved word

keyword:有特殊含义,所有字母都是小写
reserved word:以后可能成为关键字,如goto、const

标识符Identifier

定义:对变量、方法和类等要素命名时使用的字符序列。
构成:由26个英文字母、0~9、_或$构成。数字不可以开头。不能是关键字或保留字。
注:java使用unicode字符集,标识符可用汉字但不建议。

规范:

  • 包名
    xxxyyyzzz
  • 类名、接口名
    XxxYyyZzz
  • 变量名、方法名
    xxxYyyZzz
  • 常量名
    XXX_YYY_ZZZ

变量

变量:程序中最基本的存储单元,包含变量类型变量名存储的值

数据类型 变量名 = 变量值
Java每个变量必须先声明再使用。

数据类型

  • 基本数据类型
    数值型(整数类型byte \ short \ int \ long,浮点类型float \ double)、字符型(char)、布尔型(boolean)
  • 引用数据类型
    类(class)、接口(interface)、数组([ ])

整数类型

1byte = 8bit 表示-128~127。
1short占2byte,表示-215~215-1;
1int占4byte,表示-231~231-1(约21亿),最常用
1long占8byte,表示-263~263-1,以“l”或“L”结尾。

浮点类型

float:单精度,尾数可以精确到7位,4byte,范围比long还大,以“f”或“F”结尾。
double:双精度,精度是float的两倍,8byte,最常用

字符型

1char占2byte,如’a’。
转义字符,如’\n’表示换行符、’\t’表示制表符。
可以直接使用Unicode值,如char c = ‘\u0043’表示’C’。

编码
ASCII码:a是97,A是65。8bit表示256个符号,ASCII码规定了其中128个符号的编码。
Unicode:世界符号。
UTF-8:Unicode的一种实现方式。

布尔型

boolean:true或false

类型转换(不包含boolean)

整型默认int,浮点型默认double

  • 自动
    类型提升:byte、char、short --> int -->long --> float --> double
  • 强制
    用强转符(),如 (int)a。
    可能有精度损失。

String

为引用数据类型:

String s1 = "Hello World!";

String类型可与8种数据类型做连接运算:+

进制

进制:binary\decimal\octal\hex
开头:0b或0B\(无)\0\0x或0X

运算符

注:只记录容易忘记的。
逻辑运算符:&, &&, |, ||, !, ^(不同是ture).
&:逻辑与
&&:短路与
位运算符:
3 << 2 = 12
>>, >>>(始终补0), &, |, ^, ~
三元运算符

int m = 1;
int n = 2;
int max = (m > n) ? m : n

运算符优先级

百度百科:运算符优先级
最好加括号。

流程控制

if-else

int age = 26;
if (age < 0) {
    
    
	System.out.println("输入非法");
} else if (age < 18) {
    
    
	System.out.println("未成年");
} else {
    
    
	System.out.println("已成年");
}
	

Scanner输入数据

import java.util.Scanner;

class ScannerTest {
    
    
	public static void main(String[] args) {
    
    
		Scanner scan = new Scanner(System.in);

		String name = scan.next();
		int age = scan.nextInt();
		double weight = scan.nextDouble();
		boolean isLove = scan.nextBoolean();
		
		String gender = scan.next();
		Char genderChar = gender.charAt(0);
	}
}

switch-case

int number = 0;
switch (number) {
    
     // byte, short, char, int, 枚举类型(JDK5.0新增), String类型(JDK7.0新增)
	case 0:
		System.out.println("zero");
		break; // 不加break继续向下执行
	case 2:
		System.out.println("two");
		break;
	default: // 位置是灵活的,相当于最后的else,放在哪都可能执行。
		System.out.println("others");
}

for

for (int i = 1; i <= 5; i++) {
    
    
	System.out.println(i);
}

while

int i = 1;
while (i <= 5) {
    
     // 可能不会执行循环体
	System.out.println(i);
	i++;
}

int j = 1;
do {
    
     // 至少执行一次循环体
	System.out.println(j);
	j++;
} while (j <= 5)

一直循环

Scanner scan = new Scanner(System.in);
int positiveNumber = 0;
int negativeNumber = 0;

while (true) {
    
     // 相当于for (;;) {
    
    
	int number = scan.nextInt();
	if (number > 0) {
    
    
		positiveNumer++;
	} else if (number < 0) {
    
    
		negativeNumber++;
	} else {
    
    
		break;
	}
	
}

break\continue label

label: for (int i = 1; i <= 5; i++) {
    
    
	for (int j = 1; j <= 10; j++) {
    
    
		if (j % 4 == 0) {
    
    
			continue label;
		}
		if (i == 3) {
    
    
			break label;
		}
	}
}

猜你喜欢

转载自blog.csdn.net/weixin_36389889/article/details/101060491
C2
今日推荐