【JAVA基础】学习笔记(一)


一、Java数据类型:

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

二、Java注释:

//这是单行注释
/*
这是
多行
注释
*/

三、Java语法规范/标识符:

  • Java语法规范:
    • Java严格区分大小写(Hello!=hello)
    • Java的类名的首字母大写(如MyTest1)
    • Java的方法名的首字母小写,多个单词之后的单词首字母大写(如sortingMethod())
    • 所有的Java程序的入口都是main方法(public static void main(String[] args))
  • Java标识符规则:
    • 由字母(a-z/ A-Z)、美元符($)、下划线(_)、数字(0-9)组成
    • 不能以数字开头
    • 不能使用(但能包含)关键字/保留字
    • 不能包含空格
    • 合法举例:(_1a、a_1、abc、abc_a)
    • 非法举例:(123a、-abc)

四、Java关键字:

  • Java关键字分组:
基本数据类型 类/方法/变量修饰符 程序控制 访问权限控制 包相关 错误处理 变量引用 保留字
boolean abstract break public import try super goto
byte class continue protected package catch this const
short final return private throw void
int new do throws
long extends while
char implements if
float interface else
double synchronized for
null static switch
true native case
false strictfp default
transient instanceof
volatile

三、Java变量/常量:

  • 变量:
    • 全局变量(成员变量):
      • 定义在类中的方法体外
      • 生存期是对象的生存期
      • 系统自动初始化值:
        • 数值型:(0/0.0)
        • 字符型:(\u0000)
        • 布尔型:(false)
        • 引用型:(null)
      • 有无(static)修饰:
        • 静态变量(有static修饰)
        • 实例变量(无static修饰)
    • 本地变量(局部变量):
      • 定义在类中的方法体内
      • 生存期在该方法的内部
  • 常量:
    • 在整个程序中只能被赋值一次
    • 常量的特殊值:
      • 最大值:MAX_VALUE
      • 最小值:MIN_VALUE
//输出int型的最大值和最小值
import static java.lang.Integer.MAX_VALUE;
import static java.lang.Integer.MIN_VALUE;
System.out.println(MAX_VALUE); //最大值
System.out.println(MIN_VALUE); //最小值

四、用户输入Scanner:

  • 获取用户输入的数据
//导入Scanner类
import java.util.Scanner;
//实例化Scanner类的对象
Scanner in = new Scanner(System.in);
//获取一个整型数据
in.nextByte();
in.nextShort();
in.nextInt();
in.nextLong();
//获取一个浮点型数据
in.nextFloat();
in.nextDouble();
//获取一行数据
in.nextLine();
//获取一个字符串型数据(空格分隔)
in.next();
//获取一个字符型数据
String s = in.next();
char c = s.charAt(0);

五、Java运算符:

  • 算数运算符:
    • 加减乘除:‘+’,‘-’,‘*’,‘/’
    • 自加自减:‘++’,‘–’
    • 取余:‘%’
    • 字符串连接:‘+’
  • 赋值运算符:
    • ‘=’,‘+=’,‘-=’,‘*=’,‘/=’,‘%=’
  • 关系运算符:
    • ‘>’,‘==’,‘<’,‘>=’,‘<=’,‘!=’
    • 检查是否是类的对象:instanceof
  • 逻辑运算符:
    • ‘&’,‘|’,‘!’,‘&&’,‘||’,‘^’
a b a&b a&&b aIb aIb !a a^b
true true true true true true false false
true false false false true true false true
false true false false true true true true
false false false false false false true false
  • 位运算符:
    • ‘>>’,‘<<’,‘>>>’,‘&’,‘|’,‘^’,‘~’
运算符 运算 返例
<< 左移 3 << 2 = 12 --> 3 * 2 * 2 = 12
>> 右移 3 >> 1 = 1 --> 3 / 2 = 1
>>> 无符号右移 3 >>> 1 = 1 --> 3 / 2 = 1
& 与运算 6 & 3 = 2
I 或运算 6 I 3 = 7
^ 异或运算 6 ^ 3 = 5
~ 取反运算 ~ 6 = - 7
- 位运算是直接对整数的二进制进行的运算
  • 三元运算符:
    • 格式:(条件表达式) ? 表达式1 : 表达式2
    • 语法:条件为true则执行表达式1,反之则执行表达式2
//条件表达式为:true输出表达式1/false输出表达式2
System.out.println((条件表达式) ? 表达式1 : 表达式2);
  • 运算符的优先级(自上而下依次减小):
运算方向 运算符
‘.’,’()’,’{}’ ,’;’,’,’
向左 ‘++’,’–’,’~’,’!’(data type)
向右 ‘*’,’/’,’%’
向右 ‘+’,’-’
向右 ‘<<’,’>>’,’>>>’
向右 ‘<’,’>’,’<=’,’>=’,‘instanceof’
向右 ‘==’,’!=’
向右 ‘&’
向右 ‘^’
向右 ‘I’
向右 ‘&&’
向右 ‘II’
向左 ‘?’,’:’
向左 ‘=’,’*=’,’/=’,’%=’
‘+=’,’-=’,’<<=’,’>>=
‘>>>=’,’&=’,’^=’,‘I=’
- 只有单目运算符、三元运算符、赋值运算符是从右向左运算的

六、Java流程控制:

  • 选择结构
  1. if-else:
if (表达式1) {
    
    
	System.out.println("表达式1为真");
} else if (表达式2) {
    
    
	System.out.println("表达式2为真");
} else if (表达式3) {
    
    
	System.out.println("表达式3为真");
} else {
    
    
	System.out.println("1、2、3都为假")
}
  1. switch-case:
switch (表达式) {
    
    
	case 常量1:
		System.out.println("执行语句1");
		break;
	case 常量2:
		System.out.println("执行语句2");
		break;
	case 常量3:
		System.out.println("执行语句3");
		break;
	default:
		System.out.println("执行语句4");
}
  • 循环结构
  1. while:
//初始化条件
while (条件表达式) {
    
     //循环条件
	//循环体
	System.out.println("");
	//迭代条件
}
//条件表达式为false则跳出循环
//先判断条件再执行循环体
  1. do-while:
//初始化条件
do {
    
    
	//循环体
	//迭代条件
} while (条件表达式); //循环条件
//条件表达式为false则跳出循环
//先执行循环体再判断条件
  1. for:
//初始化条件//循环条件//迭代条件
for (int i = 0; i < 10; i++) {
    
    
	//循环体
    System.out.println("执行第" + (i+1) + "次语句");
}
  1. foreach:
int[] arr = {
    
    1, 2, 3, 4, 5};
	//使用for循环遍历数组
	for (int i = 0; i < arr.length; i++) {
    
    
		System.out.println(arr[i]);
	}
	//使用foreach循环遍历数组
	for (int j : arr) {
    
    
		System.out.println(j);
	}
  • 标签的使用:
//使用标签结束指定for循环
label:for (int i = 0; i < 5; i++) {
    
    
	for (int j = 0; j < 10; j++) {
    
    
		if (j % 3 == 0) {
    
    
			continue label;
		}
	}
}

猜你喜欢

转载自blog.csdn.net/qq_51634151/article/details/114765576