1. 第一个Java程序
//Java:
//第一行的第三个单词必须和所在的文件夹名称完全一样 大小写也要一样
//public class后面定义一个类的名称 类是Java中所有源代码的基本组织单位
public class HELLOWORLD{
//第二行的内容是万年不变的固定写法 代表main方法
//这一行代表程序执行的起点
public static void main(String[] args){
//第三行代表打印输出语句
System.out.println("HELLOWORLD");
}
}
2. 标识符
- 标识符:包含英文26字母区分大小写 0-9数字 $ _ 不能以数字开头 标识符不能是关键字
- 命名规范:类:首字母大写以后每个单词首字母大写
- 变量名:首字母小写,以后每个单词首字母大写
- 方法名:同变量名
3. 常量
- 常量:不变的量
- 1.字符串常量 用双引号引起来的
- 2.整数常量:直接写上数字没有小数点
- 3.浮点数常量:-3.14 0.0
- 4.字符常量:单引号引起来的单个字符 ‘中’
- 5.布尔常量: true false 真假常量
- 6.空常量:NULL 代表没有任何数据
public class HELLO{
public static void main(String[] args){
//字符串常量
System.out.println("ABC");
System.out.println("");//字符串的两个双引号中间的内容为空
System.out.println("Xyz");
//整数常量
System.out.println(30);
System.out.println(-50);
//浮点数常量
System.out.println(3.14);
System.out.println(-0.0);
//字符常量
System.out.println('A');
System.out.println('6');
//System.out.println('');两个单引号中间必须有且仅有一个字符 没有不行
//System.out.println('ABC');
//布尔常量
System.out.println(true);
System.out.println(false);
//空常量
//System.out.println(null);空常量不能直接用来打印输出
}
}
4. 基本数据类型
-
基本数据类型:
- 整数型: byte short float int long
- 浮点型:float double
- 字符型:char
- 布尔型:boolean
-
引用数据类型:
- 字符串 数组 类 接口 Lambda
-
注意事项:
-
1.字符串不是基本类型 而是引用类型
-
2.浮点型可能只是一个近似值 而非精确值
-
3.数据范围与字节不一定相关 如float数据范围比long更加广泛 而float是4个字节 long为8个字节
-
4.浮点数默认类型为double 如果用float应加上后缀F
-
5.整数默认类型是int 如果用long类型应加上L后缀System.out.println(100L);
5. 变量
- 变量:
- 程序运行期间,内容可以发生改变的量
- 创建一个变量并使用的格式:
- 数据类型 变量名称; //创建了一个变量
- 变量名称=数据值;//赋值 将右边的数据值赋值交给左边的变量
- 一步到位格式:
- 数据类型 变量名称 =数据值;//在创建一个变量的同时,立刻放入指定的数据值(初始化)
//变量的使用:
//创建一个变量
//格式:数据类型 变量名称;
int num1;
//向变量中存入一个数据
//格式:变量名称=数据值
num1=10;
//当打印输出变量名称的时候 显示出来的是变量的内容
System.out.println(num1);// 10
//改变变量中原本的数字 变成新的数字
num1=20;
System.out.println(num1);// 20
//使用一步到位格式定义变量
//格式:数据类型 变量名称=数据值;
int num2=45;
System.out.println(num2);// 45
num2=35;
System.out.println(num2);// 35
System.out.println("=====================================");
byte num3=30;//注意 右侧的数值范围不能超过左侧数据类型的取值范围
//byte num4=400;//超出了byte的数据范围 错误
short num5=50;
System.out.println(num5);// 50
long num6=3000000000L;
System.out.println(num6);// 3000000000
float num7=2.5F;
System.out.println(num7);// 2.5
double num8=1.2;
System.out.println(num8);// 1.2
char zifu1='A';
System.out.println(zifu1);// A
zifu1='中';
System.out.println(zifu1);// 中
boolean var1=true;
System.out.println(var1);// true
var1=false;
System.out.println(var1);// false
boolean var2;
var2=var1;
System.out.println(var2);// false
使用变量时的注意事项:
- 1.如果创建多个变量 变量之间的名称不可以重复
- 2.对于float和long类型 字母后缀L F 不要丢掉
- 3.如果使用byte 和 short类型的变量 右侧的数值范围不能超过左侧数据类型的取值范围
- 4.没有进行赋值的变量不能直接使用
- 5.变量使用不能超出作用域范围*【作用域】:从定义变量开始 直到所属的大括号结束为止*
- 6.可以通过一个语句创建多个变量 一般不推荐
int num9=10;//创建了一个新的变量 num9
//int num9=20;又创建了一个新的变量名字也为num9错误!
int num10=20;
int num11;
num11=30;
int num12;
//System.out.println(num12);没有赋值直接打印出错
//System.out.println(num13);创建变量之前 不能使用
int num13=500;
System.out.println(num13);// 500
{
int num14=60;
System.out.println(num14);// 60
}
//System.out.println(num14);// 超出大括号范围 变量不能再使用
int num14;
//同时创建三个全部都是int类型的变量
int a,b,c;
a=10;
b=20;
c=30;
System.out.println(a);
System.out.println(b);
System.out.println(c);
//同时创建三个全部都是int类型的变量 并各自赋值
int x=100,y=200,z=300;
System.out.println(x);
System.out.println(y);
System.out.println(z);
6. 数据类型转换
- 数据类型转换:
- 自动类型转换:
- 1.特点:代码不需要特殊处理 自动完成
- 2.规则:数据范围从小到大
- 自动类型转换:
System.out.println(1024);// 这就是一个整数 默认int型
System.out.println(3.14);// 这就是一个浮点数 默认double型
// 左边是long类型 右边是默认int型 左右不一样
//一个等号代表赋值 将右侧的int常量交给左侧的long变量进行存储
//int-->long 符合数据范围从小到大的要求
//这一行代码发生了自动类型转换
long num15=100;
System.out.println(num15);// 100
//左边是double类型 右边是float类型 左右不一样
//float-->double 符合数据范围从小到大的要求
//发生了自动类型转换
double num16=2.5F;
System.out.println(num16);// 2.5
//左边是float类型 右边是long类型 左右不一样
//long-->float float范围更大一些 符合数据范围从小到大的要求
//发生了自动类型转换
float num17=30L;
System.out.println(num17);// 30.0
7. 强制类型转换
- 强制类型转换:
- 1.特点:代码需要特殊的格式处理 不能自动完成
- 2.格式:范围小的类型 范围小的变量名 = (范围小的类型)原本范围大的数据;
- //左边是int类型 右边是long类型 左右不一样
- //long–>int 不是从小到大
- //不能自动类型转换
- //格式:范围小的类型 范围小的变量名 = (范围小的类型)原本范围大的数据;
int num18=(int)100L;
System.out.println(num18);
注意事项:
- 1.强制类型转换一般不推荐使用 因为有可能发生精度损失 数据溢出
- 2.byte/short/char这三种类型都可以发生数学运算
- 3.byte/short/char这三种类型在运算时都会先被提升为int型后再计算
- 4.boolean类型不能发生数据类型转换
//long强制转换为int类型
int num19=(int)60000000000L;
System.out.println(num19);//1705032704
//double-->int 强制类型转换
int num20=(int)3.99;
System.out.println(num20);// 3 所有小数位都会被舍弃
char zifu2='A';//这是一个字符型变量 里面是大写字母A
System.out.println(zifu2+1);// 66 也就是大写字母A被当做65来处理
byte num21=40;
byte num22=50;// 注意 右侧的数值范围不能超过左侧数据类型的取值范围
//byte+byte-->int+int-->int
int result1=num21+num22;
System.out.println(result1);// 90
short num23=60;
//byte+short-->int+int-->int
//int强制转换为short 注意必须保证逻辑上真实大小本来就没有超过short范围否则会发生数据溢出
short result2=(short)(num23+num22);
System.out.println(result2); // 100
8. 数字与字符的对照关系
- 数字和字符对照关系表:
- ASCII码表: American Standard Code for Information Interchange 美国信息交换标准代码
- Unicode码:万国码
- 48-‘0’
- 65-‘A’
- 97-‘a’
char zifu3='1';
System.out.println(zifu3+0);// 49
char zifu4='c';
//左侧是int型 右侧是char型
//char-->int 数据从小到大
//发生了自动类型转换
int num24=zifu4;
System.out.println(num24);// 99
char zifu5='佳';//正确写法
System.out.println(zifu5+0);
- ——————END-2022-03-28——————
- 个人学习笔记,如有纰漏,敬请指正。
- 感谢您的阅读。