变量和数据类型

来源:互联网 发布:优酷网络连接失败 编辑:程序博客网 时间:2024/06/05 23:53

1、标识符

1.1作用

 给变量、类和方法命名

1.2Java标识符命名规则

  • 标识符必须以字母、下划线、美元符$开头
  • 标识符其他部分可以是字母、下划线、美元符和数字的任意组合。
  • Java语言对字母大小写有严格要求,必须区分大小写
  • 标识符长度无限制,命名最好反应其作用
  • 标识符不可以是Java关键字

1.3Java标识符命名方法 

变量: 首字母小写和驼峰原则:run() ,runRun()  ,age ageNew  

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

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

注:

  1. Java采用的是Unicode字符集,所以这里的“字母”可以是 汉字(不建议使用)
  2. Unicode字符集用两个字节(一个字节是八位)标示一个字符2^16=65536

2、字符集

  • ISO8859-1:西欧字符集                                                                                              
  • BIG5:台湾的大五码,表示繁体汉字
  • GB2312:大陆使用最早、最广的简体中文字符集
  • GBK:GB2312的扩展,可以表示繁体中文
  • GB18030:最新GBK扩展,中国所有非手持、嵌入式计算机系统的强制实施标准,可以表示汉字、维吾尔文、藏文等中华民族字符
  • Unicode:国际通用字符集

                                                                    

 

                        

 

3、Java数据类型

  

 3.1整数类型

       byte    1字节  -128——127 如果数据的大小未超过其表述范围,则可自动转型。
       short   2字节  
       int     4字节  在整形常量中,默认为int
              定义16进制的时候可以写成      int i=0X**;
              定义8进制输的的时候可以写成    int i=0**;
              定义2进制数的时候可以写成     int i=0b***; 
       long    8字节  声明时需要在后边加个L进行转型(建议用大写)
       BigInteger是表述大整数的类 进制之间转换的类
       Integer.toBinaryString(转成八进制)
       Integer.toHexString(转成十六进制)

3.2浮点型 

浮点数具有舍入误差(BigDecimal 没有误差)使用时避免使用浮点数进行比较 
float  4字节  声明时需要在后边加个F进行转型 
double 8字节  浮点数默认为double  

3.3字符型 

采用的是Unicode字符集
char 的范围在0----65533内,运算时可以直接按照整数来运算 
把整数转换成char类型时可是使用强制类型转换(循环打印的实现)  

3.4字符串 

Java中把字符串定义成了String类 

3.5布尔类型

 boolean不是一个字节,只占一位 
 boolean类型只有两个值true和false

4、类型转换

   4.1 自动类型转换 

  容量小的类型可以自动转换成容量大的数据类型 整形类型可以直接付给byte short char(在范围之内的) 

   4.2 强制类型转换 

  • 转换方式是在类型前加一个------(要转换的类型) 
  • 强制类型转换的时候可能损失精度 转换时超过范围时,会转换成一个完全不同的值(无意义的值)
  • 运算时所有的二元运算符都会有类型提升的问题,向大的类型提升. 类型提升时整个表达式都会提升 
  • 强制类型转换的时候,只取整数部分,小数部分直接省略 

  4.3 本类型转换的时候常出现的错误 

  当转换时数值溢出的时候会得到一个错误的值,需要先进行转型再运算

   4.4自动类型转换图解

 

 

  

 

 5、变量

Java是一种强类型语言,每个变量都必须声明其类型. 变量的声明和初始化不一定要在同时,一行可以声明多个变量. 
命名规则,首字母小写和驼峰原则(首单词小写,后边的首字母大写)。

5.1局部变量

在方法内部或语句块内部的变量 
使用前必须声明并且初始化

5.2实例变量

实例变量又称为成员变量或属性 

5.3常量

关键字:final
只能初始化(赋值)一次,一般情况,常量使用大写来区分,单词之间使用下划线来区分

6、运算符

6.1算数运算符 

算数运算符包括:+ , - , * , / , % , ++ , --  

%取余:小数也可以取余

++自增

a++:先运算再自增 

++a:先自增后运算 

int a = 3;-->3 

int b = a++;-->3 

int c = ++a;-->4 

--自减:

a--:先运算再自减 

--a:先自减后运算 

6.2 赋值运算符

赋值运算符:=

6.3关系运算符 

> , < , >= , <= , == , != , instanceof(判断类型是否一致

6.3逻辑运算符 

操作的是布尔变量 ,包括&& , || , ! 

逻辑与:&& 

有一个为false结果便为false,所以设计成短路运算(第一个为false时第二个便不再运算

逻辑或:|| 

有一个为true则结果为true,此次也设计成了短路运算(第一个为true时第二个便不再运算

逻辑非:! ,取与其相反的值

6.4位运算符 

位运算符包括:& , | , ^ , ~ , >> , << , >>> 

取反:~,2进制中第一位代表符号 

按位与:& 11,00,  boolean运算也可以使用位运算 

按位或:| 0, 1

按位异或:^相同为0,相异为1  

左移位:<<相当于乘以

带符号右移位:>>相当于除以2,  

无符号右移位:>>>相当于除以2, 最高位补

6.5条件运算符 

条件运算符:? , :  

三目运算符:x?y:z 

其中xboolean类型的表达式,xtrue,则整个三目运算符结果为y,否则结果为

6.6扩展赋值运算符 

扩展赋值运算符包括:+= , -= , *= , /= 

赋值运算符相当于先运算再赋值 
例如:a=a+5; <==> a+=5; 

6.7字符串连接符 

如果+两边有一个是字符串,则不再是运算符,而变成字符串连接符.  

6.8运算符的优先级

 

 

 

 

 

 

 

                                                                                                                                        


 























0 0
原创粉丝点击