Java基础
注释
注释并不会被执行,是给我们写代码的人看的
书写注释是一个非常好的习惯
- 单行注释 //+内容,
- 多行注释 /* 注释内容 */,在/**/中间加上需要注释的内容即可
- 文档注释 /***/,在2个 * 后加内容
标识符
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZWQ13yah-1614674769676)(C:\Users\六眼飞鱼\Desktop\学习\QQ图片20210302105709.png)]
Java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。
-
所有的标识符都应该以字母(A-Z或者a-z),美元符($),或者下划线(_)开始
-
首字符之后可以是字母(A-Z或者a-z),美元符($),或者下划线(_)或数字的任何字符组合
-
不能使用关键字作为变量名或方法名
-
标识符是大小写敏感的
-
合法标识符举例:age,$salary、_value、__1_value
-
非法标识符距离:123abc、-salary、#abc
-
可以使用中文命名,但是一般不建议这样去使用,也不建议使用拼音,很low
数据类型
Java是强类型语言
- 强类型语言
要求变量的使用严格符合规定,所有变量都必须先定义后才能使用
- 弱类型语言
要求变量的使用可以不符合规定
- Java的数据类型分两大类
- 基本类型(primitive type)
- 引用类型(reference type)
基本类型
-
数值类型
-
整数类型
-
byte占1个字节范围:-128到127
byte num2 = 20;
-
short占2个字节范围:-32768到32767
short num3 = 30;
-
int占4个字节范围:-2147483648到2147483647
int num1 = 10;//最常用的类型
-
long占8个字节范围:-9233372036854775808到9233372036854775807
long num4 = 30L;//long类型要在数字后面加个L
-
-
浮点类型 //小数
-
float 占4个字节
float num5 = 50.1F;//float类型要在数字后面加个F
-
double占8个字节
double num6 = 3.1415926535897;
-
-
字符类型char占2个字节
char name = '中'; char name = '国';
-
-
boolean类型:占1位其值只有true和false两个 //布尔值:是非
boolean flag1 = true; boolean flag2 = false;**引用类型**
引用类型
- 类
- 接口
- 数组
整数拓展
进制:二进制 0b开头;十进制;八进制 0开头;十六进制 0x开头
int i = 10;//十进制
int i2 = 010;//八进制0
int i3 = 0x10;//十六进制0x
浮点数拓展
银行业务怎么表示?钱
用 BigDecimal
float d = 0.1f;
double a = 0.1;
System.out.println(d==a);//false
float f = 2232343244f;
float s = f + 1;
System.out.println(f==s);//true
字符拓展
char c1 = 'a';
char c2 = '中';
System.out.println(c1);//a
System.out.println(c2);//中
System.out.println((int)c1);//强制转换,输出结果是97
System.out.println((int)c2);//强制转换,输出结果是20013
//强制转换可以把文字变成数字
//布尔值拓展
boolean flag = true;
if (flag=true);//新手写法
if (flag);//老手写法
所有的字符本质还是胡子
转义字符
\t 制表符;\n 换行
类型转换
由于Java是强类型语言,所有要进行有些运算的时候,需要用到类型转换。
运算中,不同类型的数据先转化为同一类型,然后进行运算
低------------------------>高
byte,short,char------>int----->long----->float---->double
public class demo3 {
public static void main(String[] args) {
int i = 128;
byte a =(byte)i;//内存溢出
//强制转换 (类型)变量名 高---->低
//自动转换 低---->高
System.out.println(i);
System.out.println(a);
/*
注意点
1.不能对布尔值进行转换
2.不能把对象类型转换为不相干的类型
3.在把高容量转换到低容量的时候,强制转换;反之不用动
4.转换的时候可能存在内存溢出,或者精度问题。
*/
}
}
public class demo4 {
public static void main(String[] args) {
//操作比较大的数的时候,注意溢出问题
//JDK7新特性,数字之间可以用下划线分割,并不影响输出
int money = 10_0000_0000;
int year = 20;
int total =money*year;//-1474836480,计算的时候溢出了
long total2 =money*year;//-1474836480,默认是int,转换之前已经出问题了
long total3 =(long)money*year;//先把一个数转化为long
}
}
变量 可以变化的量
Java是一种强类型语言,每个变量都必须声明其类型
Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域
type varName [=avlue][{,varName[=value]}];
//数据类型 变量名 = 值;可以使用都好隔开来声明多个同类型变量。(不建议一个类型同一行多个变量)
注意事项
- 每个变量都有类型,类型可以是基础类型,也可以是引用类型
- 变量名必须是合法的标识符
- 变量声明是一条完整的语句,因此每一个声明都必须以分号结束
变量作用域
- 类变量
- 实例变量
- 局部变量
public class demo5 {
public static void main(String[] args) {
static int allClicks = 0;//类变量
String str = "Hello,World";//实例变量,是一个从属对象,类的里面,方法的外面
public static viod main (){
int i = 0;//局部变量,是在方法里
}
}
}
常量
-
初始化(initialize)后不能再改变值!不会变动的值
-
所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。
final 常量名=值; final double PI = 3.14;
-
常量名一般使用大写字符
变量的命名规范
- 所有变量、方法、类目:见名知意
- 类成员变量:首字母小写和驼峰原则:monthSalary 除了第一个单词以外,后面的单词首字母大写 lastName
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母和下划线:MAX_VALUE
- 类名:首字母大写和驼峰原则,Man,GoodMan
- 方法名:首字母小写和驼峰原则:run(),runRun()