JAVA基础(一)

面试两天后发现自己基础基本忘记的差不多了。 因为面试的需要,所以从头开始学。

独立编写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");
}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一...
    阿里高级软件架构师阅读 3,307评论 0 19
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,760评论 18 399
  • 1 顺序语句 语句:使用分号分隔的代码称作为一个语句。 注意:没有写任何代码只是一个分号的时候,也是一条语句,...
    哈哈哎呦喂阅读 407评论 0 0
  • 一.刚才小伙伴收到 的“课程自动激活”短信请先无视。请放心,大家的课程【没有马上激活】。这是程序猿编码测试短信发送...
    Menesee阅读 180评论 0 0
  • 目前的VR=环绕型视频,还做不到全息视频。即看VR视频只能定点环顾四周物体,而无法走近前方物体绕到物体背面等。全息...
    木点先生阅读 140评论 0 0