面试两天后发现自己基础基本忘记的差不多了。 因为面试的需要,所以从头开始学。
独立编写Hello World程序。
System.out.println("Hello Wolrd");
class的作用
Class类可以帮助我们在程序运行时分析类,说白了就是获取类中的值。可能瞬间就想到了反射,没错!Class一般就是和反射配套使用的,因为我们向Class提供一个类或一个类的类名,Class就可以提供我们很多信息,比如属性/方法/修饰符/构造器/类名等等。然后我们就可以进一步进行反射。
main函数的作用
public static void main(String [] args)为Java程序的入口方法,JVM在运行的时候会首先查找main方法.其中,public是权限修饰符,表明任何类和对象都可以访问这个方法,static表明main方法是一个静态方法,即方法中的代码都是存储子静态存储区的,只要类被加载后,就可以使用该方法而不需要通过实例化对象来访问,可以直接通过类名来直接访问.JVM启动的时候就是按照上述的方法来获取程序的入口的.其中的参数String [] args是在命令行状态下与程序交互的方式.
输出语句的作用
给输出项目提供输出格式说明
:几个小问题?
JDK,JRE,JVM分别是什么?
JDK,java开发工具;JRE,java开发环境;JVM,JAVA虚拟机;Java语言是跨平台的吗?JVM是跨平台的吗?
Java语言跨平台,JVM不是跨平台的;环境变量path和classpath的区别?
PATH环境变量。作用是指定命令搜索路径;
CLASSPATH环境变量。作用是指定类搜索路径,要使用已经编写好的类,前提当然是能够找到它们了,JVM就是通过CLASSPTH来寻找类的。
什么是注释?注释分为几种?注释有什么作用?
注释就是对代码的解释和说明,其目的是让人们能够更加轻松地了解代码。注释是编写程序时,写程序的人给一个语句、程序段、函数等的解释或提示,能提高程序代码的可读性。
单行注释、块注释、javadoc注释
什么是关键字?有什么特点?
关键字:被Java语言赋予特定含义的单词
组成关键字的字母全部小写
什么是标识符?由哪些部分组成?常见的命名规则有哪些?
标识符:给类,接口,方法,变量等起名字时使用的字符序列
英文大小写字母、数字字符、$和_
什么是常量?常量的分类?字面值常量表现形式有哪些?
在程序执行的过程中其值不可以发生改变
常量分别:字面值常量和自定义常量
计算出十进制46对应的二进制,八进制,十六进制的值。
至于进制的内容今天在练习一次,以后就可以不用练习了。
后面能听懂就OK了。不用浪费太多时间。
(可用计算器验证你算的是否正确)
二进制:00101110
什么是变量?变量的定义格式?要使用变量需要注意什么?
在程序执行的过程中,在某个范围内其值可以发生改变的量
需要注意格式是固定的;
Java中的数据类型分几类?基本数据类型有哪些?
JAVA中数据类型分为两类:基本数据类型和引用数据类型;
基本数据类型 | 引用数据类型 |
---|---|
数值型 | 类 |
字符型 | 接口 |
布尔型 | 数组 |
数据类型转换:
隐式转换:隐式就是两个变量之间可以直接相互赋值的
强制转换:String.vluesOf
面试题:
第一题:
byte b1=3,b2=4,b;
b=b1+b2;
b=3+4;
哪句是编译失败的呢?为什么呢?
b=b1+b2错误、越界
第二题:
byte by = 130;有没有问题?有问题如何解决?结果是多少呢?
错误、将130写为byte类型;结果System.out.println(by)打印出-126;
常见的算术运算符有哪些?
+运算符的作用有哪些?
做加法运算,正数,字符串相加
除法和取余的区别?
除法使用符号/,整数相除只能得到整数;要想得到小数。可以*1.0;
求余使用符号%;
++和--的使用规则?
单独使用效果相同;
参与运算使用,在操作数的前后效果不同;
常见的赋值运算符有哪些?
+=运算的作用是什么?
把左边和右边的结果赋值给左边;注意左边不能是常量
扩展的赋值运算符有什么特点?
short s = 1; s = s + 1;有没有问题?如果有怎么解决?
有问题 s=s+(int)1;数据类型不同不能相加;
s=(short)(s+1);即可
short s = 1; s += 1;有没有问题?如果有怎么解决?
没有问题 s+=1相当与 s=(short)(s+1);
常见的关系运算符有哪些?
== 相等于;!=不等于;<小于;>大于;<= >= ;instanceof检查是否为类的对象;
关系运算符的结果有什么特点?
结果是布尔型;
常见的逻辑运算符有哪些?
&和&&的区别是什么?(与运算)
& 左边无论真假,右边都进行运算;
&& 如果左边为真,右边参与运算
|和||的区别是什么?(或运算)
| 左边无论真假,右边都进行运算;
|| 左边为真,右边不参与运算
## 位运算符^的特点是什么?
true^false;结果为true;
异或XOR运算符^与或运算符|不同之处是:当左右都为true时,结果为false;
如何实现对两个整数变量的值进行互换。
int m=22,n=44;
m=m^n;
n=n^m;
m=m^n;
System.out.println("m:"+m+",n:"+n);
三元运算符的格式是什么?
(关系表达式)?表达式1:表达式2;
执行流程是什么?
如果条件为true,运算后的结果是表达式1;
如果条件为flase,运算后的结果是表达式2;
使用三元运算符完成如下练习
比较两个数是否相等
int m=22,n=44;
int w=(m==n)?m:n;
System.out.println(w);
获取两个数中最大值
int m=22,n=44;
int w=(m>n)?m:n;
System.out.println(w);
获取三个数中最大值
int m=22,n=44,l=85;
int w=(m>n)?m:n;
int h=(w>l)?n:l;
System.out.println(h)
流程控制语句有几种?
三类;
- 顺序结构: 写在前面的先执行,写在后面的后执行;
- 选择结构:if语句,switch语句;
- 循环结构:for循环语句,while循环语句;
if语句的格式有几种?注意事项是什么?分别在什么时候使用?
有三种;
- 第一种:
if(条件表达式)
{
执行语句:
} - 第二种:
if(条件表达式)
{
执行语句1;
}
else //else 否则的意思。
{
执行语句2;
} - 第三种:
if(条件表达式)
{
执行语句1;
}
else if (条件表达式)
{
执行语句2;
}
……
else
{
执行语句n;
}
看程序写结果:请自己独立分析,先不要编译运行。
第一题
int x = 1,y = 1;
if(x++==2 & ++y==2)
{
x =7;
}
System.out.println("x="+x+",y="+y);
答:x=2;y=2;因为(x++==2)先执行x==2,此时x为1!=2;所以判断flase,然后x++,则x=2;y同理;&左边无论真假,右边都进行运算;
第二题
int x = 1,y = 1;
if(x++==2 && ++y==2)
{
x =7;
}
System.out.println("x="+x+",y="+y);
x=2,y=1;&&如果左边为假,那么右边不参与运算。
第三题
int x = 1,y = 1;
if(x++==1 | ++y==1)
{
x =7;
}
System.out.println("x="+x+",y="+y);
true|true为真true,所以x=7,y=2;
第四题
int x = 1,y = 1;
if(x++==1 || ++y==1)
{
x =7;
}
System.out.println("x="+x+",y="+y);
答:x=7,y=1;因为x++==1为true;(x++==1 || ++y==1)双或,当前面为真,后面的不执行;
第五题
boolean b = true;
if(b==false)
System.out.println("a");
else if(b)
System.out.println("b");
else if(!b)
System.out.println("c");
else
System.out.println("d");
答:b
编写代码实现如下内容:if语句实现
考试成绩分等级。
90~100 A等。
80-89 B等。
70-79 C等。
60-69 D等。
60以下 E等。
请根据给定成绩,输出对应的等级。
int grader=89;
if(grader>89) {
System.out.println("A");
}
else if(grader>79) {
System.out.println("B");
}
else if(grader>69){
System.out.println("C");
}
else if(grader>59) {
System.out.println("D");
}else {
System.out.println("E");
}