java基本数据类型和数据类型之间的转换

Java基础语法

注释

//单行注释
public class student{
    /*
    多行注释也叫代码块注释,使用/**/
    */
        /**
        文档注释
        */
    public static void mian(String[] args){
        
    }


}

标识符和关键字

标识符

java中所有的组成部分都需要名字,类名、变量名以及方法名都被称为标识符。

  1. 那么标识符是怎么样命名的呢?或者说标识符的命名规范是怎样的呢?

    • 所有的标识符都应该以字母(A-Z或者a-z),$(美元符),_(下划线)中的任意一个作为首字符

    • 首字符之后的可以是字母(A-Z或者a-z),$(美元符),_(下划线)或者是数字(0~9)的任何字符的组合

    • 不能用关键字作为变量名和方法名

    • 标识符大小敏感(就是说如Studnet和student是两个标识符)

    • 当然也可以用中文命名,但一般不建议这样去使用,也不建议使用拼音去命名,这样有点low

      //举例一些合法的标识符如:Stars,$abc12,_one
      //不合法的标识符如:5wang,&wang,A#yuan
      /*
      举例一些如用中文作为标识符的例子
      */
      public class Dog{
          public static void main(String[] args){
              String  名字="旺财";
              System.out.printf(名字);
          }
      }
      

关键字

一些常见的关键字一般都会用到在学习的过程中

abstrcatassertbreakbyte
casecatchclassconst
continuedefaultdoubleelse
enumextendsfinallyfloat
forgotoimplementsimport
instanceofintlongnative
newpackageprotectedpublic
returnstrictfpstaticsuper
switchsysnchronizedthrowthrows
transienttryvolatilewhile

数据类型

强数据类型语言

Java就是强数据类型语言,所有的变量都必须先定义才能使用

基本数据类型

java有八大基本的数据类型

  1. 整数类型(四种)

    • byte 1字节
    • short 2字节
    • int 4字节
    • long 8字节
  2. 浮点类型(两种)

    • float 4字节
    • double 8字节
  3. 字符 char 2字节

  4. 布尔类型 boolean 只占一位其值true和false。

    public class Dome01 {
        public static void main(String[] args) {
            //八大基本数据类型
            //byte 1字节
            byte e=12;
            //short类型
            short e2=251;
            //int 类型
            int e3=90;
            //long 类型 一般数字后面加一个L区分
            long e4=90L;
            //float 类型 float e5=5.3一般默认是double类型所有用F来区分
            float e5=5.3F;
            //double 类型
            double e6=3.1415926;
            //char 字符型 2字节
            char e7='中';
            //布尔类型 true和false 只占一位
            boolean e8=true;
            //String类型也是字符串类型,它不是基本类型
            String str="wang";
        }
    }
    

    引用类型

    • 类(String)
    • 接口
    • 数组

什么是字节

位(bit):是计算机内部数据储存的最小单位,11001100是一个八位二进制数

字节(byte):是计算机中数据处理的基本单位,习惯上用大写B来表示。

1 B= 8 bit;即一个字节等于八位

字符:是指计算机使用的字母,数字,字和符号。

  • 1 bit 表示一位
  • 1 Byte 表示一个字节
  • 1024B=1KB
  • 1024KB=1M
  • 1024M=1G

类型转换

由于java是强类型语言,所以要进行有些运算的时候时,需要用到类型转换

----------------------------------->byte,short,char->int->long->float->double

运算中,不同类型的数据要先转化成同一类型,然后进行运算。

强制类型转换(把容量大的转换为容量小的类型)

  1. 高精度转换低精度要注意内存溢出的情况
  //类型转换,强制类型转换    格式:(type)value type是要强制类型转换后的数据类型。
        //由于byte的值是-128~127,
        // 如果将int的值强制转换为byte类型时要注意内存溢出的情况
        int i=128;
        byte b=(byte)i;
        System.out.println(b);//-128
        System.out.println(i);//128
  1. 将浮点类型转换为int类型时会有精度的缺失,a=23,f1==a 返回的是false
    
     float f1=23.5F;
            int a=(int)f1;
            System.out.println(f1==a);
    
    1. 上面说了浮点数转换为整数类型会有精度缺失的情况,
      那么double类型转换为float类型呢?
      可以看到的是浮点类型在最好完全使用同一种浮点数进行比较
      这是因为两种不同的浮点类型进行比较的时候double会自动转换为float
      转换是含有误差,是一种大约的结果
      
      		float f2=0.1F;
              double d1=0.1;
              double d2=1.0/10;
              System.out.println(f2==d1);//返回false
              System.out.println(d1==d2);//返回false
              //这也体现了浮点数在计算的时候,是一种大约的,所以银行使用BigDecimal
              float f3=2333333333333F;
              float f4=f3+1;
              System.out.println(f3==f4);//返回的结果为true
      
//字符类型转换为整数类型,为什么a强制转换为整数97?
//这是因为字符是根据unicode编码来进行,每一个字符都可转换成一个整数有6536个
		char c='a';
        int i2=(int)c;
        System.out.println(i2);//97
        System.out.println(c==i2);//true

自动转换(从低精度转换成高精度)

		//自动转换
		int i4=38;
        long l=i4;
        System.out.println(l==i4);//true

//操作比较大的数的时候,注意溢出的问题
        int money=1000000000;
        int year=20;
        int total=money*year;//计算的时候溢出了
        System.out.println(total);//-1474836480
        long total2=money*year;//自动转换,默认是以int类型计算,转换之前就存在问题
        System.out.println(total2);//-1474836480,所以转换之后也是这个值
        long total3=money*((long)year);//可以先将一个数转换为long
        System.out.println(total3);//20000000000
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值