Java基础语法1
Java基础语法
注释
注释包括:
- 单行注释
- 多行注释
- 文档
//单行注释
//这是一个单行注释
//多行注释
/*
这里是有一个多行
注释
*/
//JavaDoc:文档注释
/**
* @author K50
* @create 2021-07-27 16:12
*/
数据类型
Java属于强语言类型,即要求变量的使用要严格符合规定,所有的变量必须先定义完成之后再使用。
Java的数据类型分为基本类型和引用类型
//八大数据基本类型
int num1 = 10;
byte num2 = 12;
short num3 = 30;
long num4 = 30l;//Long类型要在数字后边加l
//小数:浮点数
float num5=50.1;
double num6=3.1415926;
//字符
char name = 'A';
//字符串,不是关键字,是类
String a="hello";
//布尔值
boolean flag = true;
数据类型扩展
public class Demo03 {
public static void main(String[] args) {
//整数拓展 进制 二进制0b 十进制 八进制0 十六进制0x
int i = 10;
int i2 = 010; //八进制0
int i3 = 0x10;//十六进制0x 0-9 A-F
System.out.println(i);
System.out.println(i2);
System.out.println(i3);
System.out.println("====================");
//浮点数拓展 银行业务怎么表示钱 BigDecimal 数学工具类
//float 有限 离散 存在舍入误差,即通常为大约,接近但是不等于
//double
//最好避免使用浮点数进行比较
//最好避免使用浮点数进行比较
//最好避免使用浮点数进行比较
float f1 = 0.1f; //0.1
double f2 = 1.0/10; //0.1
System.out.println(f1==f2);//判断f1和f2是否相同
System.out.println(f1);
System.out.println(f2);
float d1 = 21244123123125f;
double d2 = d1 + 1;
System.out.println(d1==d2);//判断d1和d2是否相同
System.out.println(d1);
System.out.println(d2);
System.out.println("====================");
//字符拓展
char c1 = 'a';
char c2 = '中';
System.out.println(c1);
System.out.println((int) c1);//强制转换
System.out.println(c2);
System.out.println((int) c2);
//所有的字符本质还是数字
//编码 Unicode表(97=a 65=A) 2字节 65536 Excell 2^16=65536
char c3 = '\u0061';
System.out.println(c3);
//转义字符
//\t 制表符
//\n 换行
// ...
System.out.println("hello\tworld");
System.out.println("hello\nworld");
System.out.println("====================");
//对象 从内存分析
String s1 = new String("hello world");
String s2 = new String("hello world");
System.out.println(s1==s2);
String s3 = ("hello world");
String s4 = ("hello world");
System.out.println(s3==s4);
System.out.println("====================");
//布尔值扩展
boolean flag = ture;
if (flag == true){}
if(flag){} //两行意思一样
//Less is More! 代码要精简易读
}
}
运行结果:

类型转换
优先级
(低-->高)
byte,short,char—>int—>long—>float—>double
运算中,不同类型的数据先转化成统一类型数据进行运算。
public class Demo4 {
public static void main(String[] args) {
int i1 = 128;
byte b1 = (byte) i1;//内存溢出
//强制转换 (类型)变量名 高--低
System.out.println(i1);
System.out.println(b1);
System.out.println("===================");
int i2 = 128;
double b2 = i2;
//自动转换 (类型)变量名 低--高
System.out.println(i2);
System.out.println(b2);
System.out.println("===================");
/*
注意点:
1.不能对布尔值进行转换;
2.不能把对象类型转换为不相干的类型
3.在高容量转化为低容量的时候需要强制转换
4.转换的时候可能存在内存溢出,或者精度问题!
*/
System.out.println((int) 23.7); //23
System.out.println((int) -45.89f);//45
System.out.println("===================");
char c ='a';
int d = c + 1;
System.out.println(d);
System.out.println((char) d);
}
}
运行结果:

溢出问题
public class Demo05 {
public static void main(String[] args) {
//操作比较大的时候,注意溢出问题
int money = 10_0000_0000;
System.out.println(money);//JDK7特性,数字之间可以用下划线分割
int years = 20;
int total = money*years;
System.out.println(total); //-1474836480,计算的时候溢出了
long total2 = money*years;
System.out.println(total2);//-1474836480,默认是int,转换之前已经存在问题
long total3 = money*((long)years);//先把一个数转化成long
System.out.println(total3);
//L 避免使用l,以和1进行区别
}
}
运行结果:

变量
JAVA程序中最基础的存储单元,要素包括变量名,变量类型和作用域。
作用域:
- 类变量
- 时域变量
- 局部变量
public class Demo08 {
//属性:变量
//类变量 static
static double salary = 2500;
//实例变量:从属于对象:
/*
如果不自行初始化,这个类型默认值
布尔值默认false,基本类型为0,其余的都是null
*/
String name ;
int age = 8;
//main方法
public static void main(String[] args) {
//局部变量:必须声明和初始化值
int i = 10;
System.out.println(i);
//使用实例变量
//变量类型 变量名字 = new 对象;
Demo08 demo08 = new Demo08();
System.out.println(demo08.age);
System.out.println(demo08.name);
//类变量 static
System.out.println(salary);
}
//其他方法
public void add(){
}
}
运行结果:

常量
fianl 常量名 = 值;
final double PI =3.14; //常量名一般大写
public class Demo09 {
//修饰符,不存在先后顺序
static final double PI = 3.14;
final static double A = 5.20;
public static void main(String[] args) {
System.out.println(PI);
System.out.println(A);
}
}
运行结果:

变量命名规范
- 所有变量、方法、类名:见名知意
- 类成员变量:首字母小写和驼峰原则:monthSalary,除了第一个单词以外,其他单词首字母大写 lastname lastName
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母和下划线:MAX_VALUE
- 类名:首字母大写和驼峰原则:Man,GoodMan
- 方法名:首字母小写和驼峰原则:run(),runRun();

浙公网安备 33010602011771号