1.什么是计算机程序?
为了让计算机执行某些操作或者解决某个问题而编写的一系列有序的集合。
2.JAVA中的3种版本?
java EE:java Enterprise Edtion(企业版企业级开发)
java SE:java standard Edtion(java标准版,java的核心)
java ME:java Micro Edtion(微小版常用来开发游戏)
3.Java虚拟机与跨平台原理
Java源代码->编译器->—字节码文件—>JVM->{windows;unix;MacOS}
3.1字节码文件就是.class文件
3.2反编译可以把字节码文件(.class文件)反编译成.java文件。
JDK是目录结构,Bin目录下有编译器、解释器和各种工具(如:服务工具,IDL、package工具等)
JRE目录是JAVA程序运行环境的根目录,他下面有bin子目录,他下面有bin子目录(bin包括平台所有使用的工具和库的可执行文件和DLL文件(系统的动态链接库文件)),lib子目录包括JAVA运行环境的代码库,该目录下都是库文件。include目录是win32子目录,都是本地方法文件。
5.环境变量
JAVA_HOME的值是JDK所在的目录
CLASSPATH是用来指定运行所需的类的查找路径
PATH的值是%JAVA_HOME%\bin
6.记事本开发程序的步骤
6.1编写.java源文件 源文件.java
6.2编译源文件: javac 源文件.java
6.3执行文件: java 源文件
7.main(String[] args)和main(String args[])的区别?
没什么区别,只是2种不同的写法。
String类型 args[]数组;在JAVA中一般写成String[] args
8.什么是关键字?
关键字是有特别意义的标识符,又称保留字。java的关键字对JAVA的编译器有特殊意义,他们可以表示数据类型,程序的结构等。关键字不能用作变量名,方法名,类名,包名和参数。组成关键字的字母全部小写。
常用关键字:
abstract |
assert |
boolean |
break |
byte |
case |
catch |
char |
class |
const |
continue | default | do | double | else |
enum | extends | final | finally | float |
for | goto | if | implements | import |
instanceof | int | interface | long | native |
new | package | private | protected | public |
return | strictfp | short | static | super |
switch | synchronized | this | throw | throws |
transient | try | void | volatile | while |
引自:https://baike.so.com/doc/6742334-6956859.html
9.对于java程序的main方法
必须写在定义的类里面。
类名要与文件名一致。
java严格区分大小写。
10.对于&&和||的判断?
&:表示并,即一假则假;
|:表示交,即一真则真,好比物理中的短路现象(就是说如果前面的条件成立,直接输出,不用判断后面的了)。
11.取余运算、取整运算?
对于取余运算:取模运算结果与被模数保持一致。(-10/-3=-1)
12.控制台输入、输出语句
Scanner(扫描仪类):从键盘读取数据
System.out.println()//输出完内容后换行
System.out.print()//下一条输出内容不会换行
在print、println方法中双引号的内容会原样输出。
转义字符:"\t":一个制表符(Tab键)、"\n":自动换行符
13.什么是标识符?
在编程语言中,标识符是用户编程时用的名字,对于类、接口、方法、属性、变量、常量、函数、语句块等起名字时
使用的字符序列,我们统称为标识符。
14.命名规范:
标识符:类名,方法名,变量名; 只能由字母、数字、下划线、$组成,不能以数字开头
类名:必须和文件名相同;首字母(建议)要大写;不能用系统关键字;由字母、数字、下划线、$组成,不能以数字开头。
方法名:单词首字母小写,后面的单词首字母大写
变量名:单词首字母小写,后面的单词首字母大写;一个类文件的同一个方法中,不能出现相同的变量名。
包名:单词字母小写,用圆点分割;域名倒置,按从大到小的顺序(项目/部门/小组)
15.程序注释的相关方法
单行注释://我是单行注释
多行注释:/*我是多行注释
我是多行注释*/
文档注释:/*我是多行注释
*我是多行注释
*我是多行注释*/
注:文档注释:被javadoc工具解析成一个说明书,面向对象部分的知识中会用到。
16.什么是变量?
存储数据的一个基本单元;在内存中,存储的值可以修改。
注:常量也是一个存储空间,存的值固定不变不能再修改。
变量定义格式:数据类型 变量名 = 初始化值;
按被声明的位置划分:
局部变量:方法或语句块内部定义的变量。
成员变量:方法外部、类的内部定义的变量。
17.JAVA中常用的数据类型有哪些?
基本数据类型:
数据型:int(4个字节、32bit)、long(4个字节、32bit)、short(2个字节、16bit)、byte(一个字节,8bit)。
浮点数(小数):double(8个字节、64bit)、float。
字符型:char。
布尔型:boolean.
引用类型:(类class,接口interface,数组[ ])
字符串类型:String。
注:引用类型中还有一种特殊的null类型。所谓引用数据类型就是对一个对象的引用,对象包括实例和数组两种。
实际上,引用类型变量就是一个指针,只是Java中没有指针这个说法。
字节(Byte)是:计算机文件大小的基本计算单位。
18.数据类型的转换:
默认转换:精度从小到大:自动提升,属于隐式转化。(byte,short,char—int—long—float—double)
强制转化:精度从大到小:属于强制转化。 目标类型 变量名=(目标类型)(被转换的数据);
思考题:下面的程序有问题吗,如果有,在哪里呢?
byte b1 = 3;
byte b2 = 4;
byte b3 = b1 + b2;
byte b4 = 3 + 4;
答案:byte b3 = b1 + b2;是有问题的。因为变量相加,会首先看类型问题,最终把结果赋值的也会考虑类型问题。
字符串参与运算:这里其实是字符串的拼接
System.out.println("hello"+'a'+1); //helloa1
System.out.println('a'+1+"hello"); //98hello
System.out.println("5+5="+5+5); //5+5=10
System.out.println(5+5+"=5+5"); //10=5+5
注:这里的+不是加法运算,而是字符串连接符。
19.常见字符ASCII的值
'a' 97
'A' 65
'0' 48
20.运算符的种类和运算符的优先级比较:
算术运算符、关系运算符(true,false)、逻辑运算符(true,false)
算术运算符>关系运算符>逻辑运算符
"=","==","==="运算符之间的区别?
1.=是赋值运算符,==是比较运算符;
2.对于string,number等基础数据类型"==","==="有区别:
2.1不同类型间比较,==是转化成同一类型后,比较值是否相等;===是如果类型不同,结果就不等。
2.2同类型间比较无区别。
3.对于Array,Object等高级类型,"==","==="有区别:
它们是进行“指针地址”的比较
4.基础类型与高级类型比较,,"==","==="有区别:
4.1对==,将高级类型转化为基础类型,再进行值的比较。
4.2因为类型不同,===为false