对ISBN -978-7-302-46425-9图书的知识归纳总结
java名称的由来:印度尼西亚有一个盛产咖啡的岛叫java,中文译名叫爪哇,可以看出java的logo很像一杯热气腾腾的咖啡。更多详细内容参考简书
[外链图片转存失败(img-pWyznErU-1562115279369)(http://img2.imgtn.bdimg.com/it/u=4078463534,1848066610&fm=26&gp=0.jpg)]
简单、稳定、面向对象、平台无关、多线程、动态
1、java se 称为java标准版
2、java ee 企业版
3、java me 微型版,小型企业版
编写源文件-----使用编译器----》编译源文件-----产生----》字节码文件-----使用解释器----》执行字节码文件
1、编写源文件:扩展名必须是.java
2、编译:用java编译器(javac.exe)编译
编译是把高级语言转换成计算机可识别的2进制; 编译程序把一个源程序翻译成目标程序的工作过程分为五个阶段:词法分析; 语法分析; 语义检查和中间代码生成; 代码优化; 目标代码生成。主要是进行词法分析和语法分析,又称为源程序分析,分析过程中发现有语法错误,给出提示信息。
相关关键词解释,反编译:
计算机软件反向工程(Reverse engineering)也称为计算机软件还原工程,是指通过对他人软件的目标程序(可执行程序)进行“逆向分析、研究”工作,以推导出他人的软件产品所使用的思路、原理、结构、算法、处理过程、运行方法等设计要素,某些特定情况下可能推导出源代码。反编译作为自己开发软件时的参考,或者直接用于自己的软件产品中。关于编译与反编译请点击这里
3、运行java程序:使用解释器(java.exe)来解释运行
比较常见的两种编码风格是
1、Allmans风格
2、Kernighan风格
个人比较喜欢Kernighan风格,因为只要看一个}就知道有多少个{ …} 而Allmans风格的还要看{,{ 和 }同时看感觉很多,容易看走眼。
1、java的单行注释: //注释内容
2、java的多行注释:/* 注释内容 */
各种编程语言的注释汇总
1、标识符:
用来表示类名、变量名、方法名、类型名、数组名、文件名的有效字符序列,简单来说,标识符就是一个名字。
2、java语言规定:
标识符由字母、下划线、美元符和数字组成,长度不受限制
标识符的第一个字符不能是数字字符
标识符不能是关键字
标识符不能是true、false、null(true、false、null不是关键字)
8种4类
1、逻辑类型:Boolean
true、false
2、整数类型:byte、short、int、long
int型:内存分配4个字节,占32位(一个字节八位)
byte型:byte就是字节,占八位
short型:2个字节,16位
long型:8个字节,64位
3、字符类型:char
2个字节
4、浮点类型:float、double
float:单精度,精度保留8位有效数字,内存分配4个字节,float变量后面必须要有后缀f或F
double:双精度,精度保留16位有效数字,内存分配8个字节,double变量后面可加可不加后缀d或D
更多关于精度
java中数据基本类型(不包括逻辑类型)按精度从低到高排列
byte<short<char<int<long<float<double
1、把级别低的变量赋值给级别高的变量,系统自动完成数据类型转换.如 float x=12;
2、级别高的变量赋值给级别低的变量,需要强转为级别低的变量的类型。如 int x=(int)1.23;
输入:
Scanner reader=new Scanner(System.in);
reader对象可以调用下列方法,读取用户在命令输入的各种基本数据类型
nextBoolean() , nextByte() , nextShort() , nextInt() , nextLong() , nextFloat() , nextDouble().
上述方法执行时会堵塞,程序等待用户在命令行输入数据回车确认。
输出:
System.out.print()或System.out.println()
()里可以用+连接两个字符串或将变量和字符串连接
如System.out.print(“hello”+“world”);
String hello=“hello”; System.out.print(hello+“world”);
输出结果都是 hello world
定义
数组是相同数据类型的数据按顺序组成的一种复合数据类型,通过数组名加数组下标来使用数组中的数据,下标是从0开始。
2.5.1 声明数组
声明一维数组的两种格式
数组元素类型 数组名[];
数组元素类型 [] 数组名;
例如 int a[];
int [] a;
2.5.2 为数组分配元素空间
数组名=new 数组元素的类型[数组元素个数];
如 a=new int [4];
数组属于引用型变量,数组变量中存放着数组的首元素地址,通过数组变量的名字加索引使用数组的元素,如果只输出数组名
如,System.out.println(boy);则会输出数组的首元素地址,如下图则会输出0x785BA。
注意:数组的声明和分配空间可以在声明时同时完成:
int[] a=new int [3];
2.5.3 数组元素的使用
数组通过索引符访问自己的元素,如a[0],a[1]等
索引从0开始,因此如果你定义了一个长度为3的数组最后一个元素的下标则为2,即a[2],整个数组是a[0],a[1],a[2]共三个数组元素。如果你输出a[3],则程序可以通过编译,但运行时会报ArrayIndexOutOfBoundsException异常
2.5.4 length的使用
数组名.length的值就是数组的长度,如int[] a=new int [3];System.out.print(a.length);即输出数组a的长度,3。
在二维数组中
int [][]a =new int [3][4];
a.length的值是3
a[0].length的值是4
a[1].length的值是4
a[2].length的值是4
其实可把几维几维的数组类比于数学中的坐标:
一维数组对于一维坐标中的一个线段(可变长数组暂且不谈),都是从起点到终点,只不过根据数组的意义,起点是从零开始,对于一维坐标(X轴)也应该从零开始,元素与元素之间的距离为1。
二维数组、三维数组可以依次对应到x-y平面坐标、x-y-z空间坐标。
2.5.5数组的初始化
数组创建之后,系统会给数组的每一个元素一个默认值,int 型的数组则默认值是0,float型的数组默认值是0.0f,String型的数组默认值是null关于更多类型数组的默认值