基本数据类型 变量和运算符号

  2.1Java数据类型

     1.  基本数据类型(8个)

                                                                                            占用空间

                   byte                                                                  1字节=8bit    2^8           

                   short                                                                 2字节=16bit   2^16

                   int                                                                     4字节=32bit 2^32

                   long                    整数类型                                8字节

                   -----------------------------------------

                   float                   浮点型                                    4字节

                   double                                                             8字节

                   ------------------------------------------

                   boolean             布尔类型                               1字节

       --------------------------------------------

                   char                 字符类型(底层还是整数型    2字节

 1 public class Test2
 2 {
 3     public static void main(String[] args){
 4         byte bytevalue = 1;    
 5         short shortvalue = 2;
 6         int intvalue = 3;
 7         long longvalue = 4;
 8 
 9         float floatvalue = 3.3f;//float类型后面必须要加f或F,否则会被默认为double类型
10         double doublevalue = 4.4;
11         boolean booleanvalue = true;//布尔类型中的值只能为TRUE或者false
12         char charvalue ='a';
13             /*
14                 注意一个问题,编写程序时,后多时候需要用到符号,例如:圆括号,大括号,分号,逗号,点号,
15                 Java中涉及到以上的符号全部需要英文的符号,一旦使用中文符号,就会出问题。
16         */
17         System.out.println("bytevalue="+bytevalue);
18         System.out.println("shortvalue="+shortvalue);
19         System.out.println("intvalue="+intvalue);
20         System.out.println("longvalue="+longvalue);
21         System.out.println("floatvalue="+floatvalue);
22         System.out.println("doublevalue="+doublevalue);
23         System.out.println("booleanvalue="+booleanvalue);
24         System.out.println("charvalue="+charvalue);
25 
26         
27     }
28 }

基本数据类型 包装类型(对象类型)
byte            Byte
short           Short
int                  Integer
long            Long
float                 Float
double               Double
boolean                Boolean
char           Character

   2.对象类型(引用类型,自定义类型)

  2.2变量

定义变量

                   语法:

数据类型 变量名称;

数据类型 变量名称 = 初始值; (推荐做法)

         小结:

                            1.变量的定义语法

                                               有推荐的做法,还有不推荐的做法。(不推荐的原因)

                            2.变量的变这个字的解释。量,就是具体的值。

                            3.变量的名称(标示符identifier)定义规则

                                     不能数字开头,中间可以穿插数字

                                     通常有含义。最好不要这样:a1,a2,a3,a4

                                                                                             zhangsanAge,lisiAge

                                     驼峰模型:第一个单词首字母小写外,后续单词首字母大写。

                            4.      System.out.println

                                     System.out.print

                                     ln就是多了一个换行

                            5.字符串与任何数据的+操作,不是数学意义的加,而是字符串拼接的意思。

 1 public class Test1
 2 {
 3     public static void main(String[] args){
 4         short salary;            //声明一个short类型的变量名称salary
 5         short salary2 = 3000;//声明一个short类型的变量名称salary2,并且赋初始值是3000
 6 
 7         salary = 3001;//变量重新赋值,
 8         salary2 = 3003;//对salary2变量进行赋值,赋的值是3003
 9         System.out.println("重新赋值的salary2是 "+salary2);
10        }
  }

  2.3运算符号

  

      一些运算的规则:
        1.小于int类型的类型(byte,short,char),他们之间操作(同类,不同类),结果【自动提升】int
        

        2.相同类型相互操作,结果就是这个类型。
          int+int=int
          long+long=long
          float+float=float
          double+double=double
        3.不同类型相互操作,结果以大类型为准。
          int+long=long
          int+byte=int
        4.float和long相互间操作结果式float(纵然long是8个字节,float式4个字节)
          float = long+float



public class Test3
{
public static void main(String[] args)
{
int num1 = 10;
int num2 =3;

//+,-,*,/,%
int num3 = num1 + num2;
int num4 = num1 - num2;
int num5 = num1 * num2;
int num6 = num1 / num2;
int num7 = num1 % num2;

System.out.println(num1+"+"+num2+"="+num3);
System.out.println(num1+"-"+num2+"="+num4);
System.out.println(num1+"*"+num2+"="+num5);
System.out.println(num1+"/"+num2+"="+num6);
System.out.println(num1+"%"+num2+"="+num7);


//() 改变优先级
int num8 =10,num9=20,num10=5;
int num11,num12;
num11 = num8 + num9*num10;
num12 = (num8 + num9)*num10;

System.out.println("num11="+num11);
System.out.println("num12="+num12);

 


//1) 小于int类型的类型键操作

byte b1 = 1;
byte b2 = 2;
//byte b3 = b1+b2;

/*
Test3.java:56: 错误: 不兼容的类型: 
从int转换到byte可能会有损失

*/
byte b3 = (byte) (b1+b2);
int b4 = b1+b2;
System.out.println(b3);
System.out.println(b4);

//小于int类型的类型(byte,short,char),
//他们之间操作(同类,不同类),结果【自动提升】int



//2) 同类型相互操作,结果就是这个类型 float f1 = 3.3f; float f2 = 7.3f; float f3 = f1 + f2; double d1=1,d2=2;//double d1=1;double d2=2; double d3=3,d4;//double d3=3;double d4; d4 = d1+d2; System.out.println(f3); System.out.println(d4); //3) 不同类型相互间操作,结果以大类型为准 long l1 =50; byte bx =3; //byte gg = l1 + bx; /* Test3.java:97: 错误: 不兼容的类型: 从long转换到byte可能会有损失 byte gg = g1+bx;//long v =long+byte */ byte gg = (byte)(l1+bx); long gl = l1+bx; //4) float和long相互间操作,结果式float, //因为float可以保存浮点数 float ff = 3.3f; long gk = 100; //gk = gk+ff;//float = long+float float ft = ff + gk; System.out.println(gl); System.out.println(ft); } }


      char类型其实就是数字类型,char值背后都是以数字的形式存储的

      不同类型之间(指数值类型7个),赋值,小的类型值赋值给大的类型变量是可以的,反之需要进行强制类型转换

public class Test4
{
    public static void main(String[] ars){
        char ch = 'a';

        int num = ch;//隐式转换(自动)
        
        System.out.println(ch+" 这个字符对应的数值:"+num);

        ch = 'A';
        num = ch;
        System.out.println(ch+" 这个字符对应的数值:"+num);

        ch = '中';
        num = ch;
        System.out.println(ch+" 这个字符对应的数值:"+num);


        num = 99;
        ch = (char)num;//错误的,必须进行强制类型转换
        System.out.println(num+" 这个数字对应的字符:"+ch);


        //既然char值背后是数字,那么就能进行运算
        ch = 'b';

        num = ch+1;
        System.out.println(num);



        //不同类型的变量(值),赋值给其他类型的变量,会出现精度丢失问题
        //那么浮点数赋值给整数类型会怎样(肯定式需要强制类型转换)
        //浮点数强制转换成整形数,就是小数部分直接截取。
        float f = 3.3f;
        num = (int)f;
        System.out.println(num);


        num= 100;
        f = num;//隐式转换
        System.out.println(f);



        


    }
}

猜你喜欢

转载自www.cnblogs.com/mijamins/p/10181306.html