JAVASE
java的基础语法:
标识符 一切起名字的地方,这个名字就是 标识符
命名规则
组成:由字母、数字、下划线、$组成,数字不能开头
严格区分大小写
关键字与保留字不能作为标识符使用
关键字:现在已经被Java语法使用的单词
全部小写
工具中变色|高亮显示
保留字:未来有可能会被Java语法使用的单词 const goto
命名规范:
见名知意
驼峰命名原则
包名 : 全部小写 haha
包: 文件夹
多级包: 使用.进行连接 haha.hehe.heihei
类名|接口名 : 每个单词首字母大写 HahaHehe
方法名|变量名 : 第一个单词全部小写,第二个单词开始每一个单词首字母大写 hahaHeheHeihei
常量名 : 全部大写 多个单词之间使用_分隔 HAHA_HEHE_HEIHEI
进制
数值型的的表现形式
整型:
进制: 满几进一
二进制 : 由0~1组成 由0b|0B开头
八进制 : 由0~7组成 由0开头
十进制 : 默认
十六进制 : 由0~9|a~f组合而成(不区分大小写) 由0x|0X开头
其他进制转为十进制:
从最后一位数开始*当前进制数^(次方从0开始每次+1) ,最后拿到每一位数的计算结果求和
十进制转为其他进制:
把十进制的数据,想要转为几进制,就不停的除以几,最后得到结果为0,看余数,从下往上看
浮点类型:
1) 小数0.几,整数为0,0可以省略 0.15->.15
2) 科学计数法 e|E 代表10 e正数n -> *10^n e负数正数n -> /10^n
1.23e3->1.23*10^3
1.23e-3->1.23/10^3
转义字符
转义字符:
在java中有一些字符具有特殊作用,如果想要这些字符表示符号本身,可以使用转义字符
转义字符从\开始,\+被转义的字符
\'
\"
\\
\t 制表符 8个空格 ******
如果制表符前面的内容是制表符位的整数倍,从前给你开辟一个制表符位,如果不满一整个制表符,那么久夹上前面的 内容补全一整个制表符位
一个汉字占2个空格,一个英文,数字,标点符号占一个空格
\n 换行
\b 退格 光标回到上一格
如果光标移动之后没有继续输出,没有显示效果
如果光标 移动之后,继续输出其他内容,可能会造成覆盖原有内容的效果
变量
java中的变量 : 存储单个数据
可变的量
java程序执行过程中,其值可能发生改变的量
在内存中开辟一块空间,用来存放指定类型的数据
常用的数据类型:
int整数 double小数 字符char' ' 布尔类型boolean String字符串 "..."
变量相当于造盒子
盒子 | 停车位: 空间->变量
盒子中的内容 | 车 -> 数据
盒子的名字 |停车位的编号 ->变量名
变量的大小->所在的空间->内存空间 ==> 存储的数据的大小决定
定义语法:
1.声明的同时赋值
数据类型 变量名 = 数据;
2.先声明后赋值
数据类型 变量名;
变量名 = 数据;
3.同时声明多个变量
注意:
;代表一个语句的结束
= 是自右向左运算的符号
初始化: 第一个赋值
变量的分类:
成员变量|实例变量 : 定义在类中方法外的变量
声明不赋值存在默认值
整数:0 小数:0.0 boolean:false 字符char: ' '->空格字符 引用数据类型: null
局部变量 : 定义在方法中|语句块中的变量成为局部变量
使用之前必须已经声明并且已经赋值
变量关注的点:
1.数据类型: 由数据的类型决定
2.变量名: 标识符(规则|规范)
3.变量的值: 把对应 类型的数据赋值给对应类型的变量,类型保持一致
4.作用域 : 作用的范围|可使用的范围 {}
从变量的声明开始,到包裹变量的,离它最近的}结束
常量:
在程序运行过程中,其值不能发生改变的量
字面值常量:
整数常量 : 1 100 -1
小数常量 : 1.1 -0.3
字符串常量 : "abc" "123" " "
字符常量 : 'a' '中' '`' ' '
布尔常量 : true false
自定义常量:
final 数据类型 常量名 = 赋值;
final 最终的
注意:
变量的值一旦修改,其值不可恢复
数据类型
数据类型:
java是一个强类型的语言,数据类型明确
计算机中基本的存储单位: 字节
最小单位: 比特位
1byte = 8bit
基本数据类型 : 4类八种
整型
字节型 byte 1字节=8位 2^8->[-128,127]
短整型 short 2字节=16位 2^16->[-32768,32767]
整型 int 4字节=32位 正负21亿
长整型 long 8字节=64位 非常大
因为整数字面常量值默认int类型
long类型的数据,需要在数据的后面添加L|l,推荐使用大写的L
重要: int
浮点型:
单精度 float 4个字节 小数点后7位左右
双精度 double 8个字节 小数点后15位左右
浮点类型的字面常量值为double
表示一个float类型的数据,在数据的后面添加f|F
如果浮点类型进行运算,可能会不精确
重要: double
字符型
char 2个字节
就是用来表示一个字符
表现形式:
1. ''中包裹单个字符
2.0~65535之间的整数表示某个字符 UNicode字符集
注意:
char类型参与运算,先转为十进制的整数,再运算
布尔型
boolean 1bit true|false
引用数据类型 : 类 接口 数组
类型转换:
boolean类型不参与类型转换
自动类型提升
从 小----> 到大
如果在为byte,short,char类型赋值的时候,只要在其范围内的常量就能成功赋值
如果多种类型的数据参与运算,结果统一为参与运算中最大的数据类型
如果运算的结果<int类型,最终会提升成为int类型
强制类型转换
从 大 ----> 到小
小范围类型 变量 = (小范围类型)大范围类型的数据;
转型: 在赋值之前完成的
byte->short->char->int->long->float->double
基本数据类型
数据类型 变量名 = 赋值;
int a = 1;
引用数据类型:
1) 导包
告诉java,当前要使用类的位置
import 包名.类名; (权限定名:包名.类名)
位置: 类的上面
2) 创建当前引用数据类型的变量|引用
引用数据类型 变量名|引用名 = new 引用数据类型();
3) 使用功能
引用名.功能名字();
Scanner工具类
Scanner 工具类 : 帮助接收用户键盘输入
1) 导包
import java.util.Scanner;
2) 创建当前Scanner的变量|引用
Scanner sc = new Scanner(System.in);
3) 使用功能
****sc.nextInt() 接收用户输入的int类型的数据
sc.nextByte()
sc.nextShort()
sc.nextLong()
sc.nextFloat()
****sc.nextDouble() 接收用户输入的double类型的数据
****next() 接收用户输入的字符串,从有效字符开始接收,如果遇到空格tab停止接收,遇到enter结束功能
****nextLine() 接收用户输入的一整行的数据,接收到enter结束功能,从任意字符开始接收
注意: next()不接受enter nextLine()接收enter
close() 关闭
注意: 应该在当前类使用完毕Scanner之后再关闭
一定要再使用完毕之后关闭