java学习day02

孤人 提交于 2020-03-01 02:32:50

java程序开发三步骤:编写、编译、运行
在这里插入图片描述
.java -> .class(java字节码文件)
javac.exe编译 java.exe运行

HelloWorld代码

(1)编写
用记事本编写,修改文件后缀名为.java,文件名与程序名一定严格一致(注意大小写)

//多行注释
/*
 第一行的第三个单词必须和所在的文件名称完全一样,大小写也要一样
 public class后面代表定义一个类的名称,类是java当中所有源代码的基本组织单位
*/
public class HelloWorld{ //单行注释
 //第二行的内容是万年不变的固定写法,代表main方法
 //这一行代表程序执行的起点
 public static void main(String[] args){
  //第三行代表打印输出语句
  System.out.println("hello,world!!!");
 }
}

(2)对HelloWorld.java文件进行编译和运行
在这里插入图片描述
注意:对源代码进行修改后,要再次编译,这样编译得到的.class文件再次更新

关键字

关键字的特点
1、完全小写的字母,如public
2、增强型记事本中有特殊颜色

标识符

指在程序当中,自己定义的内容,比如类的名字、方法的名字和变量的名字
命名规则(硬性要求)
1、可包含英文字母、0-9数字】$和_
2、不能以数字开头
3、不能是关键字
命名规则(软性要求)
1、类名规范:首字母大写,后面每个单词首字母大写(大驼峰式)HelloWorld
2、变量名规则:首字母小写,后面每个单词首字母大写(小驼峰式)helloWorld
3、方法名规则:同变量名

常量

在运行期间,固定不变的量
常量的分类
1、字符串常量:凡是用双引号引起来的部分,叫做字符串常量。例如"abc"
2、整数常量:直接写上的数字。例如:100、200、-300
3、浮点数常量:直接写上的数字,有小数点。例如:2.5
4、字符常量:凡是用单引号引起来的单个字符。例如:‘A’、‘中’、‘9’
5、布尔常量:只有两种取值,true、false
6、空常量:null。代表没有任何数据

public class Demo01Const{
 public static void main(String[] args){
  //字符串常量
  System.out.print("abc");
  System.out.println("");
  
  //整数常量
  System.out.println(30);
  System.out.println(-20);
  
  //浮点数常量
  System.out.println(2.34);
  
  //字符常量(两单引号)
  System.out.println('A');
  //System.out.println('');//没有不行!
  //System.out.println('AAA');//有多个不行 
  
  //布尔常量
  System.out.println(true);
  System.out.println(false);
  
  //空常量,不能直接用来打印输出
  //System.out.println(null);//错误
 }
}

数据类型

1、基本数据类型(四类八种)

整数型 byte short int (默认) long
浮点型 float double(默认) 浮点数都是近似值
字符型 char
布尔型 bollean
在这里插入图片描述
注意事项
1、字符串不是基本类型,而是引用类型
2、浮点型可能只是近似值,并非精确的值
3、数据范围与字节数不一定相关,例如float数据范围比long更加广泛,而float是4字节,long是8字节
4、浮点数中默认类型是double,如果一定要使用float类型,需要加上一个后缀F
如果是整数,默认为int类型,如果一定要使用long类型,需要加上一个后缀L,推荐使用大写字母后缀

2、引用数据类型

变量

程序运行期间,可以发生改变的量

public class Demo02Variable{
 public static void main(String[] args){
  //创建一个变量
  int num1;
  //向变量当中存入一个数据
  num1 = 10;
  System.out.println(num1);
  
  //改变变量当中本来的数字
  num1 = 20;
  System.out.println(num1);
  
  //一步到位的格式
  int num2 = 30; //不能重复创建num1
  System.out.println(num2);
  System.out.println("******************");
  
  byte num3 = 32;//注意:右侧数值的取值范围不能超过左侧数据类型的取值范围
  short num4 = 50;
  long num5 = 1000000000L;//必须加L
  System.out.println(num5);
  
  float num6 = 2.5F;//必须加F
  System.out.println(num6);
  
  double num7 = 1.2;
  System.out.println(num7);
  
  char zifu1 = '中';
  System.out.println(zifu1);
  
  boolean var1 = true;
  System.out.println(var1);
  
  //将一个变量的数据内容,赋值交给另一个变量
  boolean var2 = var1;
  System.out.println(var2);
 }
}

注意事项
1、变量不能重复定义
2、对于float和long类型,后缀F和L不能省略
3、使用byte或shaor类型的变量,右侧的数据值不能超过左侧类型的范围
4、没有进行幅值的变量,不能直接使用,一定要赋值之后,才能使用。
5、变量使用不能超过作用域的范围
【作用域】从定义变量的一行开始,一直到直接所属的大括号结束为止
6、可以通过一个语句创建多个变量,但是一般不推荐这么做

public class Demo02Variable{
 public static void main(String[] args){
  
  {
   int num1 = 90;
  }
  int num1=90;//可以再次创建
  System.out.println(num1);//已经超出大括号的范围
  int a,b,c;
  //各自赋值
  a = 10;
  b = 20;
  c = 30;
  //同时创建并赋值
  int x = 100,y = 200,z = 300;
 }
}

数据类型转换

当数据类型不一样时,将会发生数据类型转换

自动类型转换(隐式)

1、特点:代码不需要进行特殊处理,自动完成
2、规则:数据范围从小到大

public class Demo01DataType{
 public static void main(String[] args){
  System.out.println(1024);
  System.out.println(3.14);
  
  //左边是long类型,右边是默认的int类型,左右不一样
  //int --> long 符合数据范围从小到大的要求
  long num1 = 100;//发生了自动类型转换
  System.out.println(num1);
  
  //float --> double
  double num2 = 2.5F;//发生了自动类型转换
  
  //long --> float 范围上float更大,符合要求
  float num3 = 30L;
  System.out.println(num3);
 }
}

强制类型转换

1、特点:代码需要进行特殊的格式处理,不能自动完成
2、范围小的类型 范围小的变量 = (范围小的类型)原本范围大的数据

注意事项:

1、强制类型转换一般不推荐使用
2、byte/short/char这三种类型都可以发生数学运算
3、byte/short/char这三种类型在运算的时候,都会被首先提升为int类型,然后再计算
4、布尔类型不能发生数据类型转换

public class Demo02DataType{
 public static void main(String[] args){
  //强制类型转换
  int num = (int)100L;
  System.out.println(num);
  
  int num2 = (int)6000000000L;//出现的结果不是6000000000,因为int装不下,产生数据溢出
  System.out.println(num2);
  
  int num3 = (int)3.5;
  System.out.println(num3);//小数位会被舍弃掉
  
  char zifu1 = 'A';
  System.out.println(zifu1+1);
  
  byte num4 = 40;
  byte num5 = 50;
  //byte+byte --> int+int --> int
  //byte result1 = num4+num5;//这个不对
  int result1 = num4+num5;
  System.out.println(result1);
  
  short num6 = 60;
  short result2 = (short)(num4+num6);
 }
}

数字和字符的对照关系表(编码表):

ASCII码表
Unicode码表:万国码,也是数字和符号的对照关系,开头0~127的部分和ASCII一样,但是从128开始包含更多字符
记住:
48 - ‘0’
65 - ‘A’
97 - ‘a’

public class Demo03DataType{
 public static void main(String[] args){
  char zifu1 = '1';
  System.out.println(zifu1+0);//可以显示ASCII码
  //char --> int 从小到大
  int num = zifu1;
  System.out.println(num);
  char num2 = '中';
  System.out.println(num2+0);//结果是20013
 }
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!