Java_入门程序
1.入门程序
public class test{ // test一个类的名称,这个单词必须和所在的文件夹名称完全一样,大小写也要一样
public static void main(String[] args){ //代表main方法,表示程序执行的起点
System.out.println("hello,world"); //打印输出
}
}
2. 关键字
(1)特点:完全小写的字母
3. 标识符
(1)标识符:在程序中,自己定义的内容,比如类的名字,方法的名字和变量的名字等等
(2)命名规则:
- 标识符可以包含英文字母,数字,$和_
- 标识符不能以数字开头
- 标识符不能是关键字
(3)命名规范:
- 类名规范:首字母大写,后面单词每个首字母大写(大驼峰) HelloWorld
- 变量名规范:首字母小写,后面单词每个首字母大写(小驼峰)helloWorld
- 方法名规范:同变量名
4.常量
(1)常量:在程序运行期间,固定不变的量
(2)常量的分类:
- 字符串常量:用双引号引起来的部分(双引号直接可以为空)
- 整数常量:直接写上的数字,没有小数点
- 浮点数常量:直接写上的数字,有小数点
- 字符常量:用单引号引起来的单个字符(单引号直接不可以为空;且不能超过一个字符)
- 布尔常量:true(真),false(假)(可以直接打印输出)
- 空常量:NULL(没有任何数据;不能直接打印输出)
public class test{
public static void main(String[] args) {
//字符串常量
System.out.println("scc");
System.out.println(""); //双引号中可以不写内容->空字符串
System.out.println("123");
//整数常量
System.out.println(123);
System.out.println(-456);
//浮点数常量
System.out.println(2.6);
System.out.println(-9.0);
//字符常量
System.out.println('s');
// System.out.println('sd'); //单引号中不可以同时有两个字符
// System.out.println(''); //单引号中不可以空
System.out.println('1');
//布尔常量
System.out.println(true); //true
System.out.println(false); //false
//空常量
// System.out.println(null); //不能直接打印输出
}
}
5.基本数据类型
(1)整数型:byte short int long
(2)浮点型:float double
(3)字符型:char
(4)布尔型:boolean
注意:
(1)字符串不是基本数据类型,而是引用类型
(2)浮点型可能只是一个近似值,并非精确的值
(3)数据范围与字节数不一定相关,例如:float的数据范围比long更加广泛,但是float是4字节,long是8字节
(4)浮点数中默认类型是double,如果一定要使用float类型,需要加上后缀F
(5)整数中默认类型是int,如果一定要使用long类型,需要加上后缀L
public class test{
public static void main(String[] args){
//基本数据类型创建变量
byte num1=10; //byte的范围是-128~127;右侧数值的范围不能超过左侧数据类型的范围
System.out.println(num1); //10
// byte num1=300; //byte的范围是-128~127;超过了会报错!!!
// System.out.println(num1);
short num2=9;
System.out.println(num2); //9
int num3=38;
System.out.println(num3); //38
long num4=670000L;
System.out.println(num4); //670000
float num5=3.1415F;
System.out.println(num5); //3.1415
double num6=3.45565;
System.out.println(num6); //3.45565
char xingming='y';
System.out.println(xingming); //y
xingming='中';
System.out.println(xingming); //中;可以是汉字字符
boolean judge1=true;
System.out.println(judge1); //true
judge1=false;
System.out.println(judge1); //false
boolean judge2=judge1;
System.out.println(judge2); //false
}
}
6. 变量
(1)变量:程序运行期间,内容可以发生改变的量
(2)创建一个变量并且使用的格式
public class test{
public static void main(String[] args) {
//创建一个变量并赋值
//方法一:
int a;
a=2;
System.out.println(a); //2
//改变变量的值
a=10;
System.out.println(a); //10
//方法二:
int b=2;
System.out.println(b); //2
//改变变量的值
b=10;
System.out.println(b); //10
}
}
(3)使用变量的注意事项:
- 如果创建多个变量,那么变量之间的名称不可以重复
- 对于float和long类型来说,字母后缀F和L不可以去掉
- 如果使用byte或者short类型的变量,那么右侧是数据值不能超过左侧类型的范围
- 必须先赋值 ,后使用
- 变量的使用不能超过作用域的范围(作用域:从定义变量的一行开始,一直到直接所属的大括号结束为止)
- 可以通过一条语句来创建多个变量
public class test{
public static void main(String[] args){
int num1=10;
System.out.println(num1); //10 先赋值后使用
{
int num2=36;
System.out.println(num2); //36
}
// System.out.println(num2); //超出了作用域,变量不能再使用,会报错
//通过一条语句来创建多个变量
int a=10,b=20,c=30;
System.out.println(a); //10
System.out.println(b); //20
System.out.println(c); //30
}
}
7.数据类型转换
(1)自动类型转换(隐式)
- 特点:代码不需要进行特殊处理,自动完成
- 规则:数据范围从小到大
(2)强制类型转换(显式)
- 代码需要进行特殊的格式处理,不能自动完成
- 格式:范围小的类型 范围小的变量名=(范围小的类型) 原本范围大的数据
(3)注意事项
- 强制类型准换一般不推荐使用,因为可能发生精度损失,数据溢出
- byte/short/char这三种类型都可以发生数学运算,例如”+”
- byte/short/char这三种类型在运算的时候,都会首先被提升为int类型,然后再计算
- boolean类型不能发生数据类型转换
public class test{
public static void main(String[] args){
long num1=100;
//(100为int型)int-->long,符合数据范围由小到大的要求(int<long),发生了自动类型转换
System.out.println(num1); //100
double num2=4.67F;
//(4.67F为float型)float-->double,符合数据范围由小到大的要求(float<double),发生了自动类型转换
System.out.println(num2); //4.67
float num3=45L;
//(45L为long型)long-->float,符合数据范围由小到大的要求(long<float),发生了自动类型转换
System.out.println(num3); //45.0
//(100L为long型)long-->int,不符合数据范围由小到大的要求(int<long),不发生自动类型转换
// int num4=100L;
//强制类型转换
int num4=(int) 100L;
System.out.println(num4); //100
//long强制转换为int型,int的范围最大是21亿,小于60亿,会溢出
int num5=(int)6000000000L;
System.out.println(num5); //1705032704
//double强制转换为int,会发生精度损失(所有小数位都是被舍弃掉,不会四舍五入)
int num6=(int) 4.6;
System.out.println(num6); //4
//A的ASCII码是65
char a='A';
System.out.println(a+1); //66
byte num7=23;
byte num8=67;
//byte+byte-->int+int-->int
// byte result=num7+num8; //result应该为int型
int result1=num7+num8;
System.out.println(result1); //90
short num9=12;
byte num10=14;
//short+byte-->int+int-->int;int强制转换为short,必须注意保证逻辑上真实大小没有超过short的范围,否则会发生数据溢出
short result2=(short)(num9+num10);
System.out.println(result2); //26
}
}
8. ASCII 码
(1)‘0’:48
(2)‘A’:65
(3)‘a’:97
public class test{
public static void main(String[] args){
char num1='c';
int num2=num1;//(char<int)强制转换
System.out.println(num2); //99
char zhong='中'; //中的ASCII码是20013
System.out.println(zhong+0); //20013
}
}