最基础内容
基本数据类型
整数型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();