最基础内容

基本数据类型

整数型 byte short int long

浮点型 float double

字符型 char 48-->'0' 65-->'a' 97-->'A'

布尔型 boolean

引用数据类型

字符串、数组、类、接口、Lambd

注意事项:

1. 字符串不是基本类型,而是引用类型。

2. 浮点型可能只是一个近似值,并非精确的值。

3. 数据范围与字节数不一定相关,例如float数据范围比long更加广泛,但是float是4字节,long是8字节。

4. 浮点数当中默认类型是double。如果一定要使用float类型,需要加上一个后缀F。

如果是整数,默认为int类型,如果一定要使用long类型,需要加上一个后缀L。推荐使用大写字母后缀。

5. byte short int 可以发生数学运算,但会首先提升为int类型,然后再计算,因此计算结果应该进行强制类型转换为 byte short int

6. boolean类型不能进行数据类型转换

默认值:

整型 0

浮点型 0.0

字符型 'u0000'

布尔型 false

引用类型 null

常量:

字符串常量

整数常量

浮点数常量

字符常量

布尔常量

空常量 null

变量名不能重复声明

声明后的变量赋值后才能使用

方法重载与下列因素有关:

参数个数

参数类型

参数的多类型顺序

方法重载与下列因素无关:

参数的名称

方法的返回值类型

可变参数:JDK1.5之后的 新特性

适用于:但方法的参数列表数据类型已经确定,但是参数个数不确定

使用方法:

修饰符 返回值类型 方法名(数据类型... 变量名)

public int add(int... arr){//...}

可变参数的底层是一个数组,根据传递参数个数的不同,会 创建不同长度的数组来存储这些参数,

传递的参数个数可以是0、1、2...多个

注意事项:

一个方法的参数列表只能有一个可变参数

参数列中的可变参数应该在参数列表的末尾

public int add(String s,int... arr){//...}

java内存划分

栈(stack)

局部变量:方法的参数,或者是方法{}内部的变量(方法的运行在栈中)

一旦超出作用域,立即从栈内存中消失

堆(heap)

凡是new出来的东西都在堆中

堆中的数据都有默认值

堆内存中的数据都有一个地址值:16位

方法区(method area)

存储.class相关信息,包括方法的信息

本地方法栈(Native method stack):与操作系统有关

寄存器:与CPU有关

idea快捷键:



sout:System.out.println()
	main(或 psvm):public static void main(String[] args)
	array.for :for each 语句
	Alt+? 代码提示
	Ctr+? 单行注释
	Ctr+Shift+? 多行注释
	Alt+Enter 代码语法错误解决
	Alt+Insert 插入代码:setter getter等
	End:光标移到行尾
	Home:光标移到行首
	Ctrl+Alt+L:格式化代码
	Ctrl+]:快速跳转至诸如{}围起来的代码块的结尾处
	Ctrl+[:快速跳转至诸如{}围起来的代码块的开头处
	Ctrl+向左箭头:将光标移至前一个单词
	Ctrl+向右箭头:将光标移至后一个单词
	Ctrl+向上箭头:向上滚动一行
	Ctrl+向下箭头:向下滚动一行
	Ctrl+W:选中整个单词
	Ctrl+Shift+U:切换大小写



idea的Debugger



f8:逐行执行程序
	f7:进入方法中
	shift+f8:跳出方法
	f9:跳到下一个断点



控制台输入:



Scanner scanner = new Scanner(system.in);
	String str = scanner.next();