当前位置:   article > 正文

JAVA中的标识符与变量类型__age是变量标识符嘛

_age是变量标识符嘛

 

一.JAVA标识符

      标识符是用来给变量、类、方法以及包进行命名的,如Welcome、main、System、age、name、gender等。标识符需要遵守一定的规则:

  • 标识符必须以字母、下划线_、美元符号$开头。  

  • 标识符其它部分可以是字母、下划线“_”、美元符“$”和数字的任意组合。

  • Java 标识符大小写敏感,且长度无限制。

  • 标识符不可以是Java的关键字。

  • 驼峰原则:表示方法和变量的标识符,第一个单词小写,从第二个单词开始首字母大写。

       表示类名(class前的单词)的标识符:每个单词的首字母大写,eg:Man,GoodMan

合法标识符:

 

非法标识符:



 

二.JAVA中的变量类型

Java是一种强类型语言,每个变量都必须声明其数据类型。 Java的数据类型可分为两大类:基本数据类型(primitive data type)和引用数据类型(reference data type)。

Java定义了3类8种基本数据类型

  1. 数值型 - byte,short,int,long,float,double
  2. 字符型 - char
  3. 布尔型 - boolean

     

7.png

一.整型变量 

数据类型所占存储空间表示范围
byte1字节-2的7 次方~   2的7次方-1(-128~127)
short2字节-2的15 次方~   2的15次方-1(-32768~32767)
int4字节-2的31 次方~   2的31次方-1 (-2147483648~2147483647)约21亿
long8字节-2的63次方~   2的63次方-1

 

  • 十进制整数,如:99, -500, 0

  • 八进制整数,要求以 0 开头,如:015

  • 十六进制数,要求 0x 或 0X 开头,如:0x15

  • 二进制数,要求0b或0B开头,如:0b01110011

  • 注:java默认整形变量类型为int型,在声明long型常量可以后加‘ l ’或‘ L ’ 。

  • long a = 55555555;  //编译成功,在int表示的范围内(21亿内)。

    long b = 55555555555;//不加L编译错误,已经超过int表示的范围。


     

 二.实型变量

类型占用存储空间表示范围
float4字节-3.403E38~3.403E38
double8字节-1.798E308~1.798E308

float类型又被称作单精度类型,尾数可以精确到7位有效数字,在很多情况下,float类型的精度很难满足需求。而double表示这种类型的数值精度约是float类型的两倍,又被称作双精度类型,绝大部分应用程序都采用double类型。浮点型常量默认类型也是double。

float  f = 3.14F;

double d1  = 3.14;

double d2 = 3.14D;

在此注意:1.进行实型变量运算时会有误差产生,因此不要用浮点数比较,以免出现错误。详见下例:

 

【示例1】浮点数的比较一 

1

2

3

float f = 0.1f;

double d = 1.0/10;

System.out.println(f==d);//结果为false

【示例2】浮点数的比较二

1

2

3

4

5

6

7

float d1 = 423432423f;

float d2 = d1+1;

if(d1==d2){

   System.out.println("d1==d2");//输出结果为d1==d2

}else{

    System.out.println("d1!=d2");

}

        运行以上两个示例,发现示例2-13的结果是“false”,而示例2-14的输出结果是“d1==d2”。这是因为由于字长有限,浮点数能够精确表示的数是有限的,因而也是离散的。 浮点数一般都存在舍入误差,很多数字无法精确表示(例如0.1),其结果只能是接近, 但不等于。二进制浮点数不能精确的表示0.1、0.01、0.001这样10的负次幂。并不是所有的小数都能可以精确的用二进制浮点数表示。

        java.math包下面的两个有用的类:BigInteger和BigDecimal,这两个类可以处理任意长度的数值。BigInteger实现了任意精度的整数运算。BigDecimal实现了任意精度的浮点运算。

       比较请使用BigDecimal类

【示例3】使用BigDecimal进行浮点数的比较

1

2

3

4

5

6

7

8

9

10

11

12

13

import java.math.BigDecimal;

public class Main {

    public static void main(String[] args) {

        BigDecimal bd = BigDecimal.valueOf(1.0);

        bd = bd.subtract(BigDecimal.valueOf(0.1));

        bd = bd.subtract(BigDecimal.valueOf(0.1));

        bd = bd.subtract(BigDecimal.valueOf(0.1));

        bd = bd.subtract(BigDecimal.valueOf(0.1));

        bd = bd.subtract(BigDecimal.valueOf(0.1));

        System.out.println(bd);//0.5

        System.out.println(1.0 - 0.1 - 0.1 - 0.1 - 0.1 - 0.1);//0.5000000000000001

    }

}

 


 三.字符型变量

         字符型变量用“char 变量名 ‘变量值’” 进行表示,字符型变量char只能定义单个字符而不能定义字符串。字符型变量在内存中占2个字节。

eg:

  1. char char1 = 'b';
  2. char char2 = '中';

由于JAVA中的char表示Unicode编码表中的字符,所以中文字符,英文字符游客进行表示。可以用Unicode编码来表示字符

char char3 = '\u0061';

转义字符

1

char c2 = '\n';  //代表换行符

2-6  转义字符

转义符

含义

Unicode

\b

退格(backspace)

\u0008

\n

换行

\u000a

\r

回车

\u000d

\t

制表符(tab)

\u0009

\“

双引号

\u0022

\‘

单引号

\u0027

\\

反斜杠

\u005c

注意:以后将要学习的String类是字符序列

  1. public class TestPrimitiveDataType3{
  2. public static void main(String[]arg){
  3. char a = 'T';
  4. char b = '高';
  5. char c = '\u0061';
  6. System.out.println(c);
  7. //转义字符
  8. System.out.println(""+'a'+'b');//ab
  9. System.out.println(""+'a'+'\t'+'b');//a b
  10. System.out.println(""+'a'+'\n'+'b');//a
  11. b
  12. System.out.println(""+'a'+'\''+'b');//a'b
  13. }
  14. }

 

四.boolean型变量

           boolean类型的变量有两个常数值,一个是ture,一个是false,在内存中占一位(注意,是一位,不是一个字节)。当boolean变量值为ture时,执行ture下的语句,否则,执行false下的语句。

代码如下:

  1. boolean fact;
  2. fact = true;//或者fact = false
  3. if(fact){
  4. System.out.println(ture)//ture分支
  5. }else{
  6. System.out.println(false)//false分支
  7. }

建议

    Less is More!!请不要这样写:if ( flag == true ),只有新手才那么写。关键也很容易写错成if(flag=true),这样就变成赋值flag 为true而不是判断!老鸟的写法是if ( flag )或者if ( !flag)



 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/209331
推荐阅读
相关标签
  

闽ICP备14008679号