标识符:
j ava中对 包 类 方法 参数 变量等命名时的字符序列
由字母 下划线 数字 美元符 $ 组成
不能以数字开头
不能是关键字和保留字
严格区分大小写
长度无限制 最好不超过15字符
驼峰式命名:
1 类名:首字母大写,如果是多个单词组成,则每个单词的首字母都大写
2 变量 方法名 参数名 命名时 首字母小写,如果是多个单词组成,则第一个单词的字母小写,其他单词首字母大写
3 包名 全部小写
数据常亮和变量
常量:不会变化的量, 比如3.14
变量:变化的量 比如 int i = 4;
数据类型划分:
基本数据类型
数值型
整数型(int short long byte)
浮点型 float double
字符型 char
布尔型 boolean
引用数据类型
class类
接口 interface
字符串 String
数组 array
枚举
基本数据类型的取值范围
byte 1字节 -128 --127
short 2字节 -32768--32767
int 4字节 -2的31次方 --2的31次方-1
long 8字节 -2的63次方 到 2 的63次方-1
float 4字节
double 8字节
char 2字节 unicode编码格式 0 - 65535
boolean类型 true、false 默认是false
自动类型转换:
取值范围小的装换为取值范围大的
byte-short-int-long-float-double
char-int-long-float-double
强制类型转换:
取值范围大的转换为取消范围小的
比如 long a = 3l;
int b = (int)a;
想要转成什么类型 在等号右边 添加(想要转成的类型)
变量的分类及作用域
按数据类型划分
基本数据类型变量:变量和值都在栈中
引用数据类型变量:变量在栈中,值在堆中
按声明位置划分:
局部变量:在方法中
全局变量: 类以内,方法外
局部变量和全局变量的区别
1 声明位置不同
2 全局变量由默认值,局部变量没有默认值
3 作用区域不同 全局变量的作用域在整个类中(所有的方法都能使用),局部变量的作用域在声明此变量的方法内
运算符:
算数运算符
++ --
1 可以放在变量的前面也可以放在变量的后面
2 如果放在前面 先加或者先减 ,放在后面,先运算后加或减
3 正常情况下 相当于+1或-1 但在临界值的时候+1和-1不同,或变成数据的最大值或最小值
逻辑运算符
&& ||
短路与和短路或的特点
短路与:如果第一个boolean表达式是false 后面的表达式不执行
短路或:如果第一个boolean表达式是true 后面的表达式不执行
赋值运算符
位运算符
字符串连接符
+ 如果 前后但凡有一个字符串 这个就是字符串连接符
关系运算符
1 三目运算符
X ? Y : Z执行顺序 先执行X(boolean类型表达式) 如果是true 就执行Y 若是false 则执行Z
特点: 简洁
局限性: 执行总会有结果
2 if/else
五种表现形式
if(boolean类型表达式){执行语句}
if(boolean类型表达式){if(boolean类型表达式)}
if(boolean类型表达式){执行语句}else{执行语句}
if(boolean类型表达式){执行语句}else if(boolean类型表达式)...else{执行语句}
if(boolean类型表达式) 执行语句 else 执行语句 条件 执行语句只能是一条语句
3 文本扫描器 Scanner
1 导包 import java.util.Scanner;
2 创建Scanner对象 Scanner sc = new Scanner(System.in);
3 读取控制台输入的数据 next() nextLine() nextInt() 注明:没有nextChar()
4 switch语句
格式 switch(byte short char int 7.0以后可以使用String enum){
case 常量:
执行语句;
break;
...
[default:
执行语句
break;] 中括号代表可以省略
}
break穿透 发生在 执行语句以后没有break
5 随机数
Math类(可以不用导包)
random()返回值类型是 double 是静态的方法
静态的方法调用时,可以直接用类名.方法名()调用 Math.random();
random() 默认随机获取的是0-1之间的小数 而且左闭右开的
如果想要获取12以内的整数
(int)(Math.random()*12+1);