类型转换及变量

类型转换及变量

---------------------------------------------->
  1 2 2 4       8       8       8
byte,short,char--->int--->long--->float--->double
  1. 运算中,不同类型的数据先转换为同一类型,然后进行运算。

  2. 类型转换分为强制类型转换和自动类型转换

int i = 128;
byte b = (byte)i;  //内存溢出
double b=i;
//强制转换 (类型)变量名 高到低
//自动转换 低到高
  1. 注意点:

    1. 不能对布尔值进行转换

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

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

    4. 转换的时候可能存在内存溢出,或者精度问题!

public class Demo06{
   public static void main(String[] args){
       //操作比较大的数的时候,注意溢出问题
       //JDK7的新特性,数字之间可以用下划线分割
       int money = 10_0000_0000;
       int years = 20;
       int total = money*years;  //-1474836480,计算的时候溢出了
       long total2 = money*years; //默认是int,转换之前已经存在问题了
       long total3 = money*((long)years); //先把一个数转换为long,结果两百亿
       System.out.println(total3);
  }
}

变量

1.变量

 在程序执行的过程中,在某个范围内其值可以发生改变的量。

  Java是强类型语言,声明变量必须指定变量的类型,每一种数据都定义了明确的具体数据类型。

  变量的分类:

 

    基本数据类型:

      数值型:

        整数型:byte short int long

        浮点型:float double

        img

        字符型:char

        布尔型:boolean

    引用数据类型:

      类,接口,枚举,数组等;

 

 

2.变量的定义格式及注意事项:

  变量的类型 变量的名字 = 变量的值(初始值);

  局部变量没有初始化值,不能直接使用;

  整数默认是int类型;

  浮点数默认是double类型;

  当定义long类型时,变量的值在int范围内的可以直接赋值,超过int变量范围 但在long的范围内时,在变量值后面加 l 或者 L ;

  当定义float类型时候,在变量值的后面加 f 或者 F;

3.变量的作用域:

  局部变量在哪个大括号中声明,就只能在哪个括号中使用;

  并且在一个大括号内,不能定义同命的变量;

4.变量的转换:

  boolean类型不能转换为其它的数据类型。

  默认转换:

    byte,short,char—int—long—float—double

    byte,short,char相互之间不转换,它们参与运算首先转换为int类型(自动类型提升),结果也为int类型。

  强制转换:

    目标类型 变量名 = (目标类型)(被转换的数据)

5.注意事项

  1. 每个变量都有类型,类型可以是基本类型,也可以是引用类型

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

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

6. 变量

  1. 实例变量:从属于对象;如果不自行初始化,这个类型的默认值 0 0.0

  2. 布尔值:默认是false

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

  4. 局部变量:必须声明和初始化值 //变量类型 变量名 = new XXX();

  5. 类变量:static

7. 常量

Java常量是什么?

JAVA常量就是在程序中固定不变的值,是不能改变的数据。例如数字1、字符“a”、浮点数3.2等。在Java中,常量包括整型常量、浮点数常量、布尔常量、字符常量等。

下面我们就一起来看看java中的这些常量。

1、整型常量

整型常量是整数类型的数据,有二进制、八进制、十进制和十六进制4种表示形式具体表示形式如下。

二进制:由数字0和1组成的数字序列。在JDK7.0中允许使用字面值来表示二进制数,前面要以0b或0B开头,目的是为了和十进制进行区分,如0b01101100、0B10110101。

八进制:以0开头并且其后由0~7范围内(包括0和7)的整数组成的数字序列,如0342。

十进制:由数字0~9范围内(包括0和9)的整数组成的数字序列。如198。

十六进制:以0x或者0X开头并且其后由0~9、A~F(包括0和9、A和F)组成的数字序列,如0x25AF。

需要注意的是,在程序中为了标明不同的进制,数据都有特定的标识,八进制必须以0开头,如0711,0123;十六进制必须以0x或0X开头,如0xaf3、0Xff;整数以十进制表示时,第一位不能是0,0本身除外。例如十进制的127,用二进制表示为011111八进制表示为017,用十六进制表示为0x7F或者0X7F。

 

2、浮点数常量

浮点数常量就是在数学中用到的小数,分为foat单精度浮点数和double双精度浮点数两种类型。其中,单精度浮点数后面以F或f结尾,而双精度浮点数则以D或d结尾。当然,在使用浮点数时也可以在结尾处不加任何的后缀,此时虚拟机会默认为double双精度浮点数。浮点数常量还可以通过指数形式来表示。具体示例如下:

1

2e3f 3.6d 0f 3.84d 5.022e+23f

3、字符常量

字符常量用于表示一个字符,一个字符常量要用一对英文半角格式的单引’’号引起来,它可以是英文字母、数字、标点符号以及由转义序列来表示的特殊字符。具体示例如下:

1

‘a’ ‘1’ ‘&’ ‘\r’ ‘\u0000’

上面的示例中,’\u00’表示一个空白字符,即在单引号之间没有任何字符。之所以能这样表示,是因为Java采用的是Unicode字符集,Unicode字符以\u开头,空白字符在Unicode码表中对应的值为’\u0000’。

4、字符串常量

字符串常量用于表示一串连续的字符,一个字符串常量要用一对英文半角格式的双引号””引起来,具体示例如下:

1

“HelloWorld" “123" "We come \n XXX" "”

一个字符串可以包含一个字符或者多个字符,也可以不包括任何字符,即长度为零。

5、布尔常量

布尔常量即布尔型的两个值true和false,该常量用于区分一个事物的真与假。

6、null常量

null常量只有一个值null,表示对象的引用为空。

8. 变量的命名规范

1、严格区分大小写

2、变量的命名必须以字母或者或$开头,余下的部分可以是任意的字母,数字,或者是或者是$

3、不能用关键词或者保留字命名。

4、javascript自己的命名习惯

*驼峰命名法:getElementByld*

5、命名一定要有意义

6、;的用法(记忆技巧:和古诗的;用法一致)

 

声明变量注意问题

1、如果重新声明该变量,而没有赋值,该变量的值不会改变

2、如果重新声明该变量并且重新赋值,那么旧的变量值会删除

posted @ 2020-09-10 11:18  墨染念颖  阅读(248)  评论(0编辑  收藏  举报