资源描述
java基础课程视频学习笔记分享计算机语言发展历史机器语言:由计算机硬件设计者定义,通常由数字串组成(最终被简化为01),对于人类来说,机器语言过于繁琐。典型的机器语言:00011110 100 01010000汇编语言:英文缩写的助记符构成了汇编语言的基础。典型汇编语言:data segment buf dw 3,4,5,1,9 data end2JAVA发展历史1991年,Sun公司的Green项目,Oak1995年,推出JAVA测试版1996年,JDK1.01997年,JDK1.11998年,JDK1.2,改进了早期版本的缺陷,是革命性的版本,更名JAVA22004年,J2SE5.0(1.5.0)Tiger老虎2006年,J2SE6.0(1.6.0)Mustang野马2011年,JAVASE7.02014年,JAVA83JAVA各版本和体系架构J2EE(JAVAEE)-Java 2 Enterprise Edition -定位在服务器端的应用J2SE(JAVASE)-Java 2 Standard Edition -定位在个人计算机上的应用 J2ME(JAVAME)-Java 2 Micro Editon -定位在消费性电子产品的应用上4JDK&JRE&JVMJDK -Java Development Kit -Java 开发工具包JRE -Java Runtime Environment -Java 运行时环境JVM -Java Virtual Machine -Java 虚拟机5JDK&JRE&JVM6JVM(Java Virtual Machine)JVM是一种规范。是一个虚拟的用于执行bytecodes字节码的计算机可以使用软件来实现 -IBM,SUN,BEA等 -可以自己写一个JVM可以使用硬件来实现 -比如sun/intel公司研发的java芯片7JAVA标识符 Identifier作用:给变量、类和方法命名Java 标识符有如下命名规则:-必须以字母、下划线 _、美元符$开头。-其他部分可以是字母、下划线、美元符和数字的组合 -大小写敏感,且长度无限制 -不可以是java的关键字不合法的标识符:int 1a=3;/不能用数字开头 int a#=3;/不能包含#这样的特殊字符 int int=3;/不能使用关键字注:java不采用通常语言使用的ASCII字符集,而是采用unicode标准的国际字符集。因此,标识符中的字母包含英文、汉字等。(不建议使用汉字定义标识符)8大家学习辛苦了,还是要坚持继续保持安静继续保持安静9字符集简介ISO8859-1:西欧字符集,英语、法语、德语等使用的字符集,1个字节表示一个字符BIG5:台湾的大五码,表示繁体汉字GB2312:大陆使用最早、最广的简体中文字符集GBK:GB2312的扩展,可表示繁体中文GB18030:最新的GBK的扩展,中国所有非手持/嵌入式计算机系统的强制实施标准,可表示汉字、维吾尔文、藏文等中华民族字符Unicode(UTF-8、UTF-16):国际通用字符集,2个字节表示一个字符10字符集简介1个字节或2个字节表示一个字符的含义 -1个字节为8位,可表示28 共256个字符,足够表示英文等语言 -2个字节为16位,可表示216 共65536个字符,足够表示中文等语种UTF-8可变长字符集,如表示英文用1个字节、中文用2个字节等UTF-16推出暂无计划乱码问题,注意字符集间的转换11JAVA的基本数据类型JAVA是一种强类型语言,每个变量都必须声明其类型12整型变量JAVA语言整型常数的三种表示形式:-十进制整数,如:99,-500,0 -八进制整数,要求以0开头,如:015 -十六进制数,要求以0 x 或 0X开头,如0 x15JAVA语言的整型常数默认为int型,声明long型常量可以后加l或L(建议使用大写,小写容易误认为数字1),如:-long a=55555555;/不出错,在int表示的范围内(21亿内)-long b=5555555555555;/不加L出错,已经超出int表示范围13浮点型变量float类型又被称作单精度类型,尾数可以精确到7位有效数字,在很多情况下,float类型的精度很难满足需求。double表示这种类型的数值精度是float类型的两倍,又被称作双精度,绝大部分应用程序都采用double类型。java浮点类型常量有两种表示形式 -十进制形式,例如:3.14 314.0 0.314 -科学计数法形式,如:3.14e2 314E2 314E-2 double f=314e2;/314*102-31400.0 double f2=314e-2;/314*10(-2)-3.14浮点数值默认为double类型。要将其变为float类型,需要在后面增加F/f。如3.14F14浮点型变量使用总结:-默认是double -浮点数存在舍入误差,很多数字不能精确表示。如果需要进行不产生舍入误差的精确数字计算,需要使用BigDecimal类 -避免比较中使用浮点数15字符型(2个字节)单引号用来表示字符常量。如:A是一个字符,A表示含有一个字符的字符串。char类型用来表示在Unicode编码中的字符Unicode编码被设计用来处理各种语言的所有文字,占2个字节,允许有65536个字符。JAVA允许使用转义字符 将其后的字符转变为其他含义,char c2=n;/代表换行符char是在0-65535范围,运算时可以直接当作整数来运算。可以把 0-65535直接的整数直接转型为char。16boolean(一位,不是一个字节)boolean类型只有两个值,true和falseboolean类型用来判断逻辑条件,一般用于程序流程控制实践:-不要写 if(is=true&done=false)-if(wehether&!done)不难理解,去掉所有的=true=false17自动类型转换自动类型转换:容量小的数据类型可以自动转换为容量大的数据类型。特例:可以将整型常量直接赋给byte,short,char等类型变量,而不需要进行强制类型转换,只要不超出其表数范围18自动类型转换在图中,黑色的实线表示无数据丢失的自动类型转换,而红色的虚线表示在转换时可能会精度的损失。19强制类型转换强制类型转换,又被称为造型,用于显式的转换一个数值的类型。在有可能丢失信息的情况下进行的转换是通过造型来完成的,但可能造成精度降低或溢出。当将一种类型强制转换成另一种类型,而又超出了目标类型的表示范围,就会被截断成为一个完全不同的值。20基本类型转化时常见错误和问题操作比较大的数时,要留意是否溢出,尤其是整数操作时 int money=1000000000;/10亿 int years=20;int total=money*years;/返回负数-1474836480 long total1=money*years;/返回仍是负数-1474836480。默认是int,因此结果会转成int值,再转成long。但是已经发生了数据丢失 long total2=money*(long)years);/返回20000000000。先将一个因子变成long,整个表达式发生提升。全部用long来计算L和l的问题:-不要命名名字为l的变量。-long类型使用大写L不要用小写。21基本类型转化时常见错误和问题操作比较大的数时,要留意是否溢出,尤其是整数操作时 int money=1000000000;/10亿 int years=20;int total=money*years;/返回负数-1474836480 long total1=money*years;/返回仍是负数-1474836480。默认是int,因此结果会转成int值,再转成long。但是已经发生了数据丢失 long total2=money*(long)years);/返回20000000000。先将一个因子变成long,整个表达式发生提升。全部用long来计算L和l的问题:-不要命名名字为l的变量。-long类型使用大写L不要用小写。22JDK7.0新增特性之一二进制整数 int a=0b1000_1011_0011;下划线分隔符:int a=0b1000_1011_0011;int b=1_2312_3131;System.out.println(a);/输出2227System.out.println(b);/输出12312313123
展开阅读全文