IDEA安装
IDE:集成开发环境
直接安装即可
Java基础语法
注释
- 注释不会被执行,写给自己看的
- 书写注释非常重要
- 平时写代码要注意规范
注释分为三种
-
单行 //+注释
-
多行 /星 注释 星/
-
文档注释 JavaDoc [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TyEQ5ztE-1647096636129)(C:\Users\spirit\AppData\Roaming\Typora\typora-user-images\image-20220312152219849.png)]
IDEA中注释颜色格式改法
File-sstting-如下(从左到右,从上到下)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gK4H5DrI-1647096636130)(C:\Users\spirit\AppData\Roaming\Typora\typora-user-images\image-20220312151614640.png)]
//有趣的代码注释
标识符
关键字
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-d1Rt0KBC-1647096636130)(C:\Users\spirit\AppData\Roaming\Typora\typora-user-images\image-20220312153928683.png)]
Java搜有的组成部分都需要名字、类名、变量名以及方法名都被称为标识符
标识符注意点
- 标识符都要以字母(A-Z或者a-z),$、_、开始
- 首字母之后可以任意字母或数字的组合
- 不能使用关键字作为变量名或方法吗
- 标识符是大小写敏感的
- 可以使用中文,不建议用,也不建议用拼音
数据类型
- 强类型语言
- 要求变量的使用要严格符合规定,所有变量必须先定义后能使用。
- 弱类型语言
Java的数据类型分为两大类
- 基本类型
- 引用类型
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wSfjcT2F-1647096636130)(C:\Users\spirit\AppData\Roaming\Typora\typora-user-images\image-20220312160754047.png)]
布尔:是非对错,true/false
基本类型
public class Demo02 {
public static void main(String[] args) {
//八大基本类型
//整数
int num1 = 10; //最常用
byte num2 = 20;
short num3 = 30;
long num4 = 30L; //long类型要在数字后面加个L
//小数:浮点数
float num5 = 40.1F; //float类型要在数字后面加个f
double num6 = 3.1459265358979;
//字符
char name = '梦';//一个子,只能是一个字
//字符串,String不是关键字,类
String namea = "梦想";
//布尔值:是非
boolean flag = true;
//boolean flag = false;
}
}
引用类型见之后
字节
- 位(bit):是计算机内部数据储存的最小单位,11001100是一个八位二进制数
- 字节(byte):是计算机中数据处理的基本单位,习惯上用大写B来表示
- 1B(byte,字节)= 8bit(位 )
- 字符:是指计算机中使用的字母、数字、字和符号
科普:电脑的32位和64位的区别是什么?
多少位指的是寻址能力,32装内存4G封顶,64G无限加内存
- 1bit表示1位
- 1Byte表示一个字节 1B=8b
- 1024B=1KB
- 12045KB=1M
- 1024M=1G
数据类型拓展+面试题
float出现的问题
//float 有限 离散 舍入误差 接近但不等于
//最好完全避免使用浮点数进行比较
//最好完全避免使用浮点数进行比较
//最好完全避免使用浮点数进行比较
public class Demo03 {
public static void main(String[] args) {
//整数拓展 进制 二进制 十进制 八进制 十六进制
int i = 10;
int i2 = 010; //八进制0
int i3 = 0x10;//十六进制0x A~F 0~9
System.out.println(i);
System.out.println(i2);
System.out.println(i3);
System.out.println("============================================");
//float浮点数拓展 银行业务怎么表示?钱
//BigDecimal 数学工具类
//最好完全避免使用浮点数进行比
//最好完全避免使用浮点数进行比
//最好完全避免使用浮点数进行比
//float
//double
float f = 0.1f; //0.1
double d =1.0/10; //0.1
System.out.println(f==d);//false
System.out.println(f);
System.out.println(d);
System.out.println("============================================");
//字符拓展
char c1 ='中';
char c2 ='A';
System.out.println(c1);
System.out.println((int)c1);//强制转换
System.out.println(c2);
System.out.println((int)c2);
//所有的字符本质还是数字
//char涉及编码问题 表97 = a Unicode 2字节 0-65536 Excel 2的16次 65536
//U0000 UFFFFF
char c3 = '\u0061';
System.out.println(c3);
//转义字符
// \t 制表符
// \n 换行
// 此处很多
//
System.out.println("Hello\nWord");
//对象 从内存分析
//布尔值拓展
boolean flag = true;
if (flag==true){} //新手
if (flag){} //老手 //两行代码是一样的
//Less is More! 代码要精简易读
}
}
类型转换
- Java是强类型语言,有些运算要进行类型转换
低----------------------------------------->高
byte,short,char->int->long->float->double
//小数的优先级一定大于整数
-
运算中,不同类型的数据先转化为同一类型,然后在进行计算
-
public class Demo05 { public static void main(String[] args) { int i = 128; double b =i; //内存溢出 //强制转换 (类型)变量名 高到低 //自动转换 低到高 System.out.println(i); System.out.println(b); /*注意点 1. 不能对布尔值进行转换 2. 不能把对象类型转换为不相干的类型 3. 在把高容量转换到低容量的时候,强制转换 4. 转换的时候可能存在内存溢出,或者精度问题 */ System.out.println("=================================="); System.out.println((int)23.7); System.out.println((int)-45.89f); System.out.println("=================================="); char c = 'a'; int d = c+1; System.out.println(d); System.out.println((char) d); } }
public class Demo06 {
public static void main(String[] args) {
//操作比较打的数的时候,注意溢出问题
int money = 10_0000_0000;
int years = 20;
int total = money*years;//-1474836480 计算的时候溢出了
long total2 = money*years;//默认是int,转换之前已经存在问题,已经溢出,所以无法转换
long total3 =(long)(money*((long)years));
//知识点:byte/short/int/long在和int一起计算的时候都会转为int
System.out.println(total3);
//
}
}
变量
变量:就是可以变化的量
- Java是一种强类型语言,每个变量都必须声明其类型
- Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
- 注意类型
- 每个变量都有类型,类型可以是基本类型,也可以是引用类型。
- 变量名必须是合法的标识符
- 变量声明是一条完整的语句,因此每一个声明都必须以分号结束
public class Demo07 {
public static void main(String[] args) {
//int a,b,c;
//int a = 1;
//int b = 2;
//int c = 3;
String name = "mengxiang";
char x = 'X';
double pi = 3.14;
}
}
变量作用域
- 类变量
- 实例变量
- 局部变量
public class Demo08 {
//类变量 static 静态的
static double salary = 2500;
//属性:变量
//实例变量:从属于对象;如果不自行初始化,会变成这个类型的默认值
//布尔值:默认是false
//除了基本类型,其余的默认值都是null
String name;
int age;
//main方法
public static void main(String[] args) {
//局部变量:必须声明和初始化值,只在这个括号中有用
int i = 10;
System.out.println(i);
//变量类型 变量名字 = new Demo08();
Demo08 demo08 = new Demo08();
System.out.println(demo08.age);
System.out.println(demo08.name);
//类变量 static
System.out.println(salary);
}
//其他方法
public void add(){
}
}
常量
常量:特殊的变量,值被设定后,在程序运行过程中不允许被改变。
格式:final 常量名=值
public class Demo09 {
//修饰符,不存在先后顺序
//static final double PI = 31.14;
final static double PI = 31.14;
public static void main(String[] args) {
System.out.println(PI);
}
}
变量的命名规范
-
所有变量、方法、类名:见名知意
-
类成员变量:首字母小写和驼峰原则:moneySalay 除了第一个单词以外,后面的单词首字母大写
-
局部变量:首字母小写和驼峰原则
-
常量:大写字母和下划线:MAX_VALUE
-
类名:首字母大写和驼峰原则:Man,Goodman
修饰符,不存在先后顺序
//static final double PI = 31.14;
final static double PI = 31.14;
public static void main(String[] args) {
System.out.println(PI);}
}
### 变量的命名规范
- 所有变量、方法、类名:见名知意
- 类成员变量:首字母小写和驼峰原则:moneySalay 除了第一个单词以外,后面的单词首字母大写
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母和下划线:MAX_VALUE
- 类名:首字母大写和驼峰原则:Man,Goodman
- 方法名:首字母小写和驼峰原则:run(),runRun()