java标识符 运算符

来源:互联网 发布:哪款网络电视机好 编辑:程序博客网 时间:2024/05/02 21:34
java标识符:用来标识一个类,方法,属性,
基本要求:首字母由字母,下划线,$组成,后面以字母,下划线,$组成  (下划线和$多出现在首字母处,后面很少出现)



变量,属性,方法命名规范:第一个单词首字母小写,其后单词首字母大写



三种注释类型:
行注释   //  
多行注释/*  */ : 
文档注释/**  */  多写在方法或前    java首先推出的注释类型  通过javadoc命令,从文档中提取内容,生成程序的API文档该API文档以HTML文件形式出现,与java帮助文档风格完全一致


数据类型:
基本数据类型:
字符类型 char
布尔类型boolean(1字节8位)
数值类型 byte(字节型),short(短整型),intlong(长整型),floatdouble
数值类型又可以分为整数类型:byteshortintlong
                                  
浮点数类型: floatdouble
char类型在计算机中是以数值形式存储的(ASC
常量用final定义,常量不可以进行赋值操作

引用数据类型
类(class)
接口(interface)
数组

基本数据类型不可以存储为null,

数据类型

所占内存空间

数的范围

byte

8 位(1字节)

-128~127

short

16位(2字节)

-32768~32767

int

32位(4字节)

long

64位(8字节)

 

数据类型

所占内存空间

有效数字

数值范围

float

32位(4字节)

7个十进制位

double

64位(8字节)

15~16个十进制位

浮点类型分为单精度和双精度两类,分别用floatdouble来定义


 

数据类型转换
    扩展转换(自动转换)
            java中规定,凡符合以下转换的,都称为扩展转换。该转换可由系统自动进行,无需程序员干涉

原类型

目的类型

原类型

目的类型

byte

short,int,long,

float,double

int

long,float,double

short

int,long,float,

double

long

float,double

char

int,long,float,

double

float

double

按表的规定,如果运算符的两侧,有一个数据是在第一列中,另一个数据在其对应的第二列中,那么第一列的数据会自动转换成第二列的数据。例如:int+double,则转换成double+double


子类与父类之间:

向上转转型

向下转型

不仅基本数据类型可以进行类型转换,存在继承关系的引用数据类型也可以进行自动和强制类型转换


    缩减转换(强制转化)
    符合下表的转换,被称为缩减转换,这种转换会损失精度,系统不会自动   进行,必须由程序员显示地指定

原类型

目的类型

原类型

目的类型

byte

char

long

byte,  short,  char, 

int

short

byte,  char

float

byte,  short,  char,

int,  long

char

byte,  short

double

byte,  short,  char,

int,  long,  float

int

byte,

short,  char



要将第一列的数据转换成第二列的数据类型,则必须使用强制类型转换。基本格式是:   (数据类型)数据   例如:int a; 要将a转换为byte类型,需要这样写:(bytea;  如果需要将一个表达式的结果进行数据类型转换,则需要将表达式用括号括起来。例如有:int a,b;  a+b的结果转换成byte型,需要这样写:(byte(a+b)

强制类型转换,除了用在缩减转换中,也可以用在扩展转换中。比如:int+long+byte;  可以写成 (long)int+long+(long)byte

注意:无论是扩展转换还是缩减转换,都是产生了原数据的一个副本,转换的结果不会对原数据产生任何影响



运算符与表达式
    1. Java中的运算符

类型

运算符

算术运算符

+-*,、,%++--

关系运算符

>,<=,>=,<=,!=

逻辑运算符

&&,  ||,  !

条件运算符

?()   :()

位运算符

<<,  >>,  >>>,  ^,  ~,  |,   &

赋值运算符

=, +=, -=,  *=,  /=,  &=,  |=,  ^=,  %=,<<=,  >>=,  >>>=

int j=i++  先进行赋值运算,再进行i=i+1;
int m=++i  先进行i=i+1 运算,再进行赋值运算
&& 与&区别
&&  当第一个表达式为false时,后面的表达式不再运行
&不管第一个表达式是否为false,后面表达式都会运行

    1. 运算符结合性
      当求值是多个运算符组成的表达式时,除非遇到括号,同一优先级运算总是按从左到右的顺序进行,这就是所谓的运算符的结合性。

Java中,运算符的结合性分为两种,即左结合性(从左至右)和右结合性(从右至左)。比如,算术运算符的结合性是自左至右。而从右至左的结合方向,称为右结合性。最典型的就是赋值运算符。例如  a=b=1;则先计算b=1

注意:双目运算符两侧都有数据,单目运算符,只有一侧有数据,条件运算符满足从右至左的结合律。

    


1.三目运算符
<表达式1>?<表达式2>:<表达式3>

三目运算符的运算规则是:首先计算表达式1,当其结果为真,表达式2的值为整个表达式的值。否则表达式3的值为其值。表达式2和表达式3可以是不同的数据类型,但必须是相容的。三目条件运算符最适用于这样的情况:根据某些条件将两个值中的一个,赋值给指定的变量。例如,将x,y的最大值送给a,可以用以下语句实现:max=(x>y)?x:y;   再比如:(x%2==1)?1:0;

三目运算符还可以嵌套,即在一个表达式中,可以多次使用这个运算符,如:e1?e2:e3?e4:e5, 由于条件运算符满足从右至左的结合律,于是上述表达式等价于:e1?e2:(e3?e4:e5)

2.求值顺序

表达式的求值是由三个因素决定的:

  1. 运算符的优先级
  2. 运算符的结合性
  3. 运算符是否控制求值顺序

求值顺序还有一个问题,就是对任何一个双目运算符,都有左右两个操作数,这两个操作数的求值也有一个顺序。Java规定:左操作数先求值,右操作数后求值。如:

Int a=9,b=9;

a+=(a=3);

b=b+(b=3);

计算中,先计算+=的左操作数a,其值为9,并记录下来,然后计算右操作数a=3,其值为3,于是a=9+3=12;同理,计算得b=12


基本类型
基本类型---->包装类  (装箱)
valueof()
Byte xxxByte=12;//强制装箱
Byte xByte=Byte.valueOf((byte)12)

基本数据类型转换为该基本类型对应的引用数据类型

包装类---->基本类型(拆箱)
xxxvalue()
byte x=xxxByte;//强制拆箱 等价于:
byte short1=xByte.byteValue();

字符串---->基本类型
parsexxx(String str)

基本类型---->字符串
String.valueOf()

String va="123"
int x=Integer.parseInt(va)//将字符串强制转换为int型 

0 0
原创粉丝点击