Java&Day03-数据类型和类型转换

数据类型和类型转换

一、一个程序执行的全过程

1.写*.java
2.编译,把*.java编程*.class
3.类加载(把class文件加载到虚拟机中)
4.执行程序
  • 编译作用

    1.编译检查语法

    2.给虚拟机需要的class

  • 反编译

    把.class编程.java就是反编译

二、注释

注释就是对代码的解释

// 单行注释,只作用于1行---  程序员最多


/* 多行注释,作用很多行  */ ---程序员较少

/** 文档注释,也是多行注释,只是文档注释可以生成文档!  */--写源码


三、关键字和保留字

  • 关键字

    系统赋予特定含义的单词叫关键字

    public 公开的 class 类

    关键字特点全小写,在editplus中所有蓝色的字体都是关键字
    在这里插入图片描述

  • 保留字

​ 系统还没有赋予这个单词特定含义,但是已经占有!

​ goto 转到 const 常数

四、标识符

理解:自己命名的部分叫标识符

标识符的规范:
   1.标识符是由字母,数字,下划线,美元符号组成
   2.数字不能开头
   3.关键字和保留字不能作为标识符
   4.中文和¥一般情况下可以作为标识符,但是开发禁用!
开发规范:类  --  每个单词的首字母大写

五、简单数据类型的使用

  • 字面值
今年我18岁--- 18表示数据,就是字面值

我身高1.75m----1.75表示数据,就是字面值

她说:“明天有雨”;----“明天有雨”表示数据,就是字面值
  • 基本数据类型
18         ---- 整数字面值    int表示整数
1.75       ---- 小数字面值    double表示小数
“明天有雨” ---- 字符串字面值  String表示字符串
  • 局部变量(必须在main方法体中去写)

    一个变量只能存储一个数据(字面值)
    语法:数据类型  变量名 = 字面值;
    // 把18这个字面值赋值 给 a,a是整数类型
          int      a = 18;
    // 把20赋值给变量a,把之前的18给覆盖了      
          a = 20;
    
    
    double  b=1.78;
            b=20;
    
    String s="明天有雨";
           s="今晚月色很美";
    
    
    public class Demo01{
    
       public static void main(String[] args){
    //   18         ---- 整数字面值    int表示整数
    //                     age只是变量的名字  18变量的数据
                       int age = 18;
    				      System.out.println(age);//18
    				       age=20;
    				   System.out.println(age);//20
    
    
    
    
    
    //1.75       ---- 小数字面值    double表示小数
                  double height=1.75;
    			  System.out.println(height);
    
    
    
    
    //“明天有雨” ---- 字符串字面值  String表示字符串
                   String s="明天有雨";
                   System.out.println(s);
         
       }
    
    }
    
    • 练习

      我叫“张张张”,我今年22岁了,我身高1.75m
      
      public class Demo02{
      
        public static void main(String[] args){
       // 我叫“张张张”,我今年22岁了,我身高1.75m
      		String name = "张张张";
      		int age = 22;
      		double height = 1.75;
      		System.out.println("名字:-----"+name);
      		System.out.println("年龄:-----"+age);
      		System.out.println("身高:-----"+height);
        }
      
      }
      
      名字:-----张张张
      年龄:-----22
      身高:-----1.75
      

六、8种基本数据类型概述

整数类型 : byte  short  int  long

小数类型(浮点类型):float  double


逻辑类型: boolean


字符类型:char



  • 整数类型

    * 字节是单位,跟米是一样的!
    
      8bit = 1byte
    
      1024byte =1kb
    
      1024kb=1m
    
      1024m=1g
    
      1024g=1t
    
      ...
    
      同一种数据类型,占用字节数越大,取值范围越大!
    
      
    
      ​     取值范围            占用字节数
    
     byte           -128 到 127                  1
    
     short          正负3万多                     2
    
     int            正负21亿左右                  4
    
     long           最大范围                      8
    
  • 小数(浮点数)


浮点数        占用字节数           精确度    

float            4              单精度

double           8              双精度


  • boolean类型
对,错, 正确,错误,成立,不成立。。。基本逻辑,boolean表示基本逻辑

boolean 占用1字节  
字面值只有两个
    true(对,正确,成立。。。)
    false(错,错误,不成立。。。)

true和false是关键字,因为系统赋予特定的含义,并且全小写!


  • char

    char  取值范围0到65535    占用2个字节
    
    char更多表示单个的字符,就是字符串中的一个!
    
    “abc”--->'a'
            
    
    

七、数据类型详解(重点)

  • 变量的四种写法
public class Demo01{

  public static void main(String[] args){
     //变量4种方式

	 //第一种:声明变量直接赋值
	 int a=10;
	 //第二种:先声明,后赋值
	 //注意: b没有给初始值,直接输出,就会报错!
	 int b;
	 b=10;
	 System.out.println(b);
     //第三种:一次写多个变量并且给值
	 int m=10,n=20;
     System.out.println(m);
	 System.out.println(n);
     //第四种:先声明多个变量,然后再逐个赋值
	 int x,y;
	 x=100;  y=200;
     System.out.println(x);
	 System.out.println(y);

  
  }

}
  • 整数类型

在这里插入图片描述

public class Demo02{
	public static void main(String[] args){
	   //整数那些? byte short int long
         byte a=20;
		 System.out.println("a:"+a);
         short b=300;
		 System.out.println("b:"+b);
		 //int是默认类型
		 // 所有的整数字面值默认都是int类型,那么如果超过int范围
		 // 那么就是需要再整数字面值后面加上L/l ,变成把整数字面值直接放入
		 // long容器
		 long lg=220000000000000L;
		 System.out.println("lg:"+lg);
	}
}
  • 小数类型
    在这里插入图片描述
public class Demo02{
	public static void main(String[] args){

         //double是所有小数字面值默认的类型!
		 //3.14默认double类型,会自动补小数位,小数位太多,float容不下,
		 //自然就出现double转换float可能有损失!
		 //解决:3.14直接放入flaot容器,加F/f
		 float f=3.14f;
		 System.out.println(f);
		 float f2=10;
         System.out.println(f2);
         //单精度和双精度
		  double m1=1.23456789123456789;
		  float m2=1.23456789123456789f;
          System.out.println(m1);
          System.out.println(m2);


	}
}
  • boolean类型
public class Demo03{
	public static void main(String[] args){
	   //boolean类型
	   //true 真  正确 。。。
	   //false 假  错误。。。
	   boolean flag = true;
	   flag = false;
	   System.out.println(flag);
	}
}
  • char类型 字符类型
public class Demo04{
	public static void main(String[] args){
	//1.表示字符
	//单引号,单个
	// 如果是英文,一个字母,如果是中文一个汉字,如果是符号,一个符号
	char a='*';
	System.out.println(a);

    //2.字符串
	//双引号,多个
    String b="玫瑰花的葬礼";
	System.out.println(b);
	System.out.println("----------------------------------");
	//char   表示数字  0到65535
	// 如果表示的十进制数字通过ASCII码对照表能对应一个图形,就会输出这个图形
	//如果表示的十进制数字不能对应图形,就输出问好!除非63真的对应?
    char c=8888;  // a
    System.out.println(c);

	
	}
}
总结:
1.必须掌握四种变量的写法

2.必须掌握8种基本数据类型的 
  byte short int long float double boolean char
   1	2	  4	   8	4 	   8 	  1 	2
   
   String是引用数据类型不是基本数据类型,“S” 是大写
   
3.精简掌握 整数用int  小数double  字符串用String   

八、类型转换问题(重点)

能够参与类型转换的数据类型只有7种
按照容量范围的顺序排序? 从小到大排序
byte -> short(char)-> int -> long -> float -> double 
  • 自动类型转换
//小容量转换大容量,不需要任何修饰不会报错!
//整数转换小数,自动补.0
public class Demo01{
	public static void main(String[] args){
	
	   //自动类型转换,小转大
	   byte a=10;
	   //把a赋值给b
	   //a是byte类型,变成int类型
       double b=a;
	   System.out.println(b);

	}
}

  • 强制类型转换
public class Demo01{
	public static void main(String[] args){

	   //强制类型转换
	   //大容量转换小容量,强制要求加 强制类型转换符
       int m=100;
	   byte n=(byte)m;
	   System.out.println(n);
        
		//强制类型转换2个问题
		//1.溢出,是严重错误,避免发生
        int m1=100000;
		short m2=(short)m1;
        System.out.println(m2);

		//2.精度丢失
		double n1=3.9;
		int n2=(int)n1;
        System.out.println(n2);

  

    // 关于强制类型转换符
	//强制类型转换符应该小于等于要转换的类型!!!
        int mm1=100;
		short mm2=(byte)mm1;
        System.out.println(mm2);



	}
}
  • 其他类型转换
  1. short和char类型转换问题

在这里插入图片描述

public class Demo02{
	public static void main(String[] args){
	 //char转换short
     char a=50000;
	 short b=(short)a;
	 System.out.println(b);

	 //short转换char类型
	 short m=-500;
	 char n=(char)m;
     System.out.println(n);


//------------------可以转换的是0到3万,共同区间
  short s1=97;
  char s2=(char)s1;
  System.out.println(s2);

  char m1=500;
  short m2=(short)m1;
  System.out.println(m2);

  /*
     总结:1. char和short转换,必须加强制类型转换符
	       2. 在公共区间内0到3万多转换,其他转换都溢出
  
  */
	
	}
}
  1. byte short char只要参与运算,会自动提示为int类型
public class Demo03{
	public static void main(String[] args){
	    //short char byte 参与运算自动提升为int

         byte a=10;
		 short b=20;
		 short c=(short)(a+b);
		 System.out.println(c);

         char c1=96;
		 c1=(char)(c1+1);
		 System.out.println(c1);


	}
}
  1. 两个不同类型运算的结果是大的类型
public class Demo04{
	public static void main(String[] args){
	//两个不同类型运算的结果是大的类型
	int a=10;
	double b=20.0;
	double c=a+b;
	System.out.println(c);
	
      byte a1=10;
	  short a2=20;
	  short a3=(short)(a1+a2);

System.out.println(a3);

	
	}
}
学习方法:

如何评估自己一天内容是否完全掌握

能独立把每天内容,用代码写出来

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值