基础知识
Day01
IDEA快捷键
main方法的快捷键:输入psvm
输出语句的快捷键:输入sout
多行注释 ctrl + shift + /
导包 : Alt + Enter
自动生成代码:Alt + Ins (set/get)
补全 : Alt + / 自己设置的
for 循环 10.fori ---- 调用10次循环
数组名称.fori --遍历数组
数组名称.forr --倒序遍历数组
对象名.方法名().var – 补全当前返回语句
shift + F6 选同时引用的变量
JAVA语言编写规范
左大括号有空格
代码缩进
方法和程序块直接有空格
并排语句+空格
运算符两侧+空格
Java核心变量,常量
注释
文档注释 /***/
单行注释 //
多行注释 /**/
关键字
关键词全部小写
常见的关键词
常量
程序运行过程中,值不改变
字面值常量:
字符串 “abc”,整数 10 ,小数 1,字符 ‘a’,布尔 true,空null
变量
值在某个范围内变化
数据类型 变量名 = 初始化值;
数据类型
计算机最小的存储单元是字节(Byte),每个字节包含8个位(bit)。
类型转换
。。。
标识符
-
不能以数字开头
-
不能是关键字
-
严格区分大小写
-
接口和类:首字母大写
-
变量和方法:首字母小写,从第二个单词开始首字母大写
-
常量名:所有字母大小
-
包名:全部小写,如果有多级,用点号隔开。文件夹命名。cn.xx.xx
-
驼峰命名。
Java关键字
Java关键字是电脑语言里事先定义的,有特别意义的标识符,有时又叫保留字,还有特别意义的变量。Java的关键字对Java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名、方法名、类名、包名和参数。
运算符
字符串参与加法运算,是字符串的拼接
++ : 在变量前,先自增,在变量后,先运算在自增。
+= : 扩展赋值运算符的好处:自动强转
三元运算符:关系表达式 ? 表达式1(true) : 表达式2(false)
流程控制
Scanner
Scanner : 扫描器,输入
import java.util.Scanner;
Scanner s = new Scanner(System.in); //声明,创建对象
int a = s.nextInt();//等待输入
int b = s.nextInt();//等待输入
顺序结构,选择结构,循环结构
switch(){
case:
break;
default://所有都不匹配时,执行
break;
}
do{ } while;
死循环
for(;;){ }
while(true){ }
break;continue;
标号
label : for(){ } //可以结束多重循环
break label;
Random r = new Random()
int number = r.nextInt(10);//0-10之间的数字, 前闭后开
方法
修饰符 返回值类型 方法名(参数类型 参数名,…)
{
return 返回值;
}
修饰符:public static
方法其实就是若干语句的功能集合;
方法名称:方法的名字,规则和变量一样,小驼峰
return 两个作用,第一停止方法,将后面的返回值还给调用处。
方法的调用
单独调用:方法名称(参数) sum(10 , 20);
打印调用:System.out.println(方法名称(参数));
赋值调用:数据类型 变量名称 = 方法名称(参数);
注意:
方法一个定义在类当中,但是不能在方法当中在定义方法,不能嵌套。
一个方法中可以有多个return,但是保证同时只有一个会被执行。
重载:Overload
多个方法的名称一样,参数列表不一样。
方法重载与下列因素相关:
- 参数个数不同
- 参数类型不同
- 参数类型顺序不同
方法重载与下列因素无关:
- 与参数名称无关
- 与方法的返回值类型无关
- 与修饰符无关
数组
数组可以作为方法参数进行传递
动态初始化,元素有默认值,整数=0;浮点=0.0;字符类型:’\u0000‘;布尔:false;引用:null
数据类型[ ] 数组名称 = new 数据类型[数组长度];
数据类型[ ] 数组名称 ;
数组名称 = new 数据类型[数组长度];
静态初始化(内容)
数据类型[ ] 数组名称 = new 数据类型[ ]{ 元素1, 元素2,…};
数据类型[ ] 数组名称 = { 元素1, 元素2,…};
Java内存
- 栈(Stack):存放局部类型,方法的运行一定要在栈中运行。有作用域。调用方法,方法进栈。
- 堆(Heap):凡是new,都在堆中。堆内存里面的东西有一个地址值:16进制0x66,且有堆里东西有默认值
- 方法区(Method Area)存储.class消息,包含方法的信息
- 本地方法栈(Native Method Area)与操作系统相关
- 寄存器(pc Register):与CPU相关
注意:数组没有new,则出现空指针异常。
数组长度不可改变,即在堆里面不可改变,可以进行重新定义–new
使用方法进行传递数组时,传递的是数组的地址值。
使用数组作为方法的多个返回值。返回的也是地址值
int[] a = 方法名(参数)
Arrays.toString(a) //数组变成字符串
注意:本文符号有中文符号,请不要直接复制