ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

第二天学习内容

2022-04-03 00:31:19  阅读:116  来源: 互联网

标签:0000 变量 int double long 学习 第二天 内容 类型


一、数据类型拓展

1 整数拓展:

   二进制0b

   八进制0

   十六进制0x

2 浮点数拓展:

   float:有限    离散    有舍入误差    大约    接近但不等于

   最好完全使用浮点数进行比较

   银行业务用BigDecimal

3 字符拓展:

   所有的字符本质还是数字。使用强制转换转换为数字:

   char  c1="A";

   System.out.println((int)c1);

   Unicode编码表(65=A)2字节  0 - 6536

4 转义字符:

   \t:制表符

   \n:换行

5 布尔值扩展:  

   boolean flag = true;

   if (flag==true){}

   if (flag){}  √

   Less is More! 代码要精简易读

 

二、类型转换

   int i = 128;

   byte b = (byte) i;  //内存溢出

   由于Java是强类型语言,要进行某些运算的时候要用到类型转换。

   低——————————————————→高

    byte,shot,char → int → long → float → double

   强制转换    (类型)变量名     高 → 低

   自动转换    低 → 高

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

   注:1 不能对布尔值进行转换

          2 不能把对象类型转换为不相干的类型

          3 再把高容量转换到低容量的时候,强制转换 

          4 转换的时候存在内存溢出或者精度问题

   JDK7新特性:数字之间可以用下划线分割         

   int a = 10_0000_0000;

   int b = 20;

   int total1 = a*b;//  -1474836430   计算的时候溢出了

   long total2 = a*b;//  默认是int,转换之前已经存在问题了

   long total3 = a*((long)b);//   先把一个数转换为long

 

三、变量:可以变化的量

   Java是一种强类型语言,每个变量都必须声明其类型。

   Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。

   数据类型  变量名 = 值;可以使用逗号隔开来声明多个同类型变量。

   注:每个变量都有类型,类型可以是基本类型,也可以是引用类型。

          变量名必须是合法的标识符。

          变量声明是一条完整的语句,因此每一个声明都必须以分号结束。

 

    变量作用域:类变量、实例变量、局部变量

    Public class Variable{

          static int allClicks = 0;          // 类变量:static

          String str = "Hello World";    // 实例变量:从属于对象;如果不进行初始化,输出这个类型的默认值   0   0.0   

          布尔值默认:false

          除了基本类型,其余的默认值都是null

 

          public void method(){

                 int i = 0;                         // 局部变量在{}里面:必须声明和初始化值

           }

      }

 

     变量的命名规范:

     1 所有变量、方法、类名:见名知意

     2 类成员变量:首字母小写和驼峰原则:monthSalary

     3 局部变量:首字母小写和驼峰原则

     4 常量:大写字母和下划线:MAX_VALUE

     5 类名:首字母大写和驼峰原则:Man, GoodMan

     6 方法名:首字母小写和驼峰原则:run(), runRun()

 

四、常量:初始化后不能再改变值。不会变动的值。

     常量可以理解成一种特殊的变量,他的值被设定后,在程序运行过程中不允许被改变

     final 常量名 = 值;

     final double PI = 3.14;

     常量名一般使用大写字符

 

     static final double PI = 3.14;

     final static double PI = 3.14;  //  修饰符,不存在先后顺序

     Ctrl + D:复制当前行到下一行

     

五、运算符

     多个数据类型操作中有一个数据类型为long/double,结果的数据类型也为long/double。

     没有long/double的时候结果的数据类型都为int

  1 关系运算符返回的结果:ture/false    布尔值

     ++     --    自增   自减    一元运算符

     int b = a++                 //执行这行代码后,先给b赋值,再自增

     //a++     a = a + 1

     int c = ++a                 //执行这行代码前,先自增,再给c赋值

  2 幂运算  2^3   2*2*2=8          很多运算,我们会使用一些工具类来操作

     double pow = Math.pow(2,3);

     System.out.println(pow);

  3 逻辑运算符

     与(and)     或(or)     非(取反)

     短路运算

 

        A =  0011   1100

        B =  0000   1101

————————————————————————————————————————————

     A&B = 0000  1100            与运算:A与B上下位比较,上下都为1则输出1,上下不同则输出0

       A|B = 0011  1101            位运算:A与B上下位比较,上下都为0则输出0,上下不同则输出1

      A^B =  0011  0001           异或运算:A与B上下位比较,上下相同则输出0,上下不同则输出1

        ~B =  1111  0010           取反

 

      << 左移       *2

      >> 右移       /2

      2*8=16    2*2*2*2

      0000  0000     0

      0000  0001     1

      0000  0010     2

      0000  0011     3

      0000  0100     8

      0001  0000    16

      System.out.println(2<<3);

 

      字符串连接符   +

      + 号运算符两侧,只要有一侧出现了String类型,就会把另一侧都转化为String类型,再进行连接

 

      X ? Y : Z        如果X==true,则结果为Y,否则为Z

 

      区分优先级:()

 

学习自:www.kuangstudy.com

标签:0000,变量,int,double,long,学习,第二天,内容,类型
来源: https://www.cnblogs.com/wangning765/p/16091352.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有