Java复习回顾---7月6日总结

由于很长一段时间繁重的课业负担,对Java的学习中断了近三个月时间,博客园博客也荒弃了很长一段时间,。从今天开始准备重新高质量地系统复习一遍Java基础,每天做笔记,废话不多说,就从现在开始吧!加油!!!

 

sun公司将Java划分为3个技术平台,分别是JavaSE(Java Standard Edition)标准版,是为开发普通桌面和商务应用程序提供的解决方案,JavaEE和JavaME都是从JavaSE的基础上发展起来的。JavaSE中包含了Java中最核心的类库,如集合,IO,数据库连接及网络编程等。Java EE(Java Enterprise Edition)企业版是为开发企业级应用程序提供的解决方案。JavaME是为开发电子消费产品和嵌入式设备提供的解决方案。

 

Java语言的特点:简单性,面向对象性,安全性,跨平台性,支持多线程。

 

JDK(Java Development KIt)Java开发程序,是整个Java的核心。包括Java编译器,运行工具,文档生成工具,打包工具等。

JRE(Java runtime Environment)Java运行环境。JDK中包含JRE(开发环境中自然包含运行程序)

 

标识符规范:

包名一切字母都小写。

类名和接口名每个单词的首字母大写,such as:   ArrayList

常量所有字母都大写,且每个单词用下划线分割。 such as :    DAY_OF_MONTN

变量名和方法名首单词小写,后面单词首字母大写。 such as :    getLineNumber

 

Java 中的常量:

整形常量:二进制(要以0B或0b开头,如0b010111100)八进制(要以0开头,如01234567)十进制,十六进制(以0X或0x开头,如0x28FA)

浮点数常量:单精度浮点数(float,以f或F结尾)双精度浮点数(double,以D或d结尾)。使用浮点数不加结尾Java虚拟机默认是Double类型。

字符常量:如‘a’,'$','\u0000'。Java默认使用Unicode字符集,Unicode字符集以‘\u’开头。

字符串常量,布尔常量。null常量。

 

Java是一门强类型的编程语言。

整数类型变量:

byte      8位(1字节)        -2^7----2^7-1

short    16位(2字节)      -2^15----2^15-1

int         32位(4字节)      -2^31----2^31-1

long      64位(8字节)      -2^63----2^63-1

给Long类型赋值时超出int类型数值范围要在数值后面加L或l.如:long a=999999999999999L。long a=123L。long a=123 都合法。

浮点数类型变量:

float      32位(4字节)         1.4E-45—3.4E+38,-3.4E+38— -1.4E-45

double   64位(8字节)          4.9E-324—1.7E+308,-1.7E+308 — -4.9E-324        E 表示以10为底的指数

在Java中一个小数会被默认位double类型,要定义float类型要在数值后加“F”

浮点数类型也可以赋整数,如:double a = 100;

字符类型变量:char

布尔类型变量:boolean

 

变量类型转换:

自动类型转换:

1,整数类型之间可以自动转换,如byte 类型的数据可以自动赋值给short ,int,long.而不报错。short,char类型的数据可以赋值给int,long.类型变量,int可以赋值给long。

2,整数类型可以转换成float类型,如byte,char,short,int类型的数据可以赋值给float类型的变量。

3,其他类型转换为double类型:如 byte,char,short,int,long,float类型都可以赋值给double类型变量。

强制类型转换:

不支持自动转换的情况时,需要强制转换。例:

int number=4;
byte num=number;    //报错,int数据类型不支持自动转换为byte型
System.out.println(num);


//需要强制类型转换:
byte num=(byte)number;

将int数据类型转换成byte类型后可能会出现丢失精度的情况,如int类型数为298时,转换成byte 类型就成了42.这是因为int类型在内存中占用4个字节,byte 类占用1个字节,将int数据强转为byte时,前面三个高字节的数据丢失,只保留低字节00101010转化为10进制数为42。

补充:表达式类型自动提升:

变量在表达式中进行运算时,也有可能发生自动类型转换。下例说明:

public class em1 {
    public static void main(String[] args) {
        byte a=3;
        byte b=4;
        //byte c=a+b;  //报错,此处byte类型在运算期间被自动提升为int类型进行计算,需要强转如下
        byte c=(byte)(a+b);  //正确
        System.out.println(c);
    }

算术运算符:++  --(a++,先进行其他,再自加。  ++a,先进行自加,再进行其他)

int a=1;
int b=2;
int x=a+b++;
System.out.println("b="+b);    //3
System.out.println("x="+x);    //3

在进行除法运算时,当除数和被除数都是整数时,得到的结果也是整数,有小数参与时,得到的结果就是小数。

如 3500/1000*1000的结果是3000             3500/1000=3,3*1000=3000

在进行取模运算(%)时,模的正负取决于被模数(%左边的数),与模数无关。如(-5)%3=-2;5%(-3)=2

赋值运算符:a+=b就是a=a+b,其他运算符号同理。

逻辑运算符:&与   |或   ^异或   !非       &&短路与(全部为true时为true)       ||短路或(只要有true就是true)

运算符的优先级:没有必要刻意去记忆运算符的优先级,编写程序时,尽量使用“()”来实现想要的运算顺序就好了,因为()拥有最高的优先级。

猜你喜欢

转载自www.cnblogs.com/fangtingfei/p/11142305.html