Java基础知识复习点:

本文深入探讨了char类型存储数字和汉字的能力,解析JDK、JRE和JVM的关系,揭示Java跨平台的奥秘,讲解代码运行流程、标识符规则及基本数据类型。还涵盖了注释、命名规范、类型转换、运算符差异和控制结构等内容。
摘要由CSDN通过智能技术生成

目录

  一、char允许存放数字吗?

  二、char是否能存储汉字?为什么?

  三、分别简述什么是JDK、JRE、JVM,以及他们之间的关系?

  四、java实现跨平台的原理是什么?

  五、Java代码是如何运行的?

  六、标识符及其命名规则?

  七、简述八种基本数据类型以及其所占的字节数。

  八、java的注释:

  九、驼峰命名法:

 十、隐式转换和显式转换的区别?

 十一、++a和a++区别:

 十二、& 和 && 的区别:

 十三、switch表达式都可以使用什么数据类型?

 十四、怎么结束多层循环?

 十五、分支结构有几种?语法结构怎么写?有什么区别?

 十六、循环结构有几种?语法结构怎么写?有什么区别?

 十七、生成随机数的方式有几种?语法结构怎么写?有什么区别?

 十八、数组复制的方式有几种?怎么写?有什么区别?

 十九、什么是二维数组?怎么创建二维数组?

  二十、成员变量和局部变量区别?

 二十一、如何进行单元测试?


 一、char允许存放数字吗?

  答:char类型允许存放数字,使用时会去查找数字对应字符,使用字符本身底层使用ASCII码表,表中规定了0-127对应的的字符,其余都是?

二、char是否能存储汉字?为什么?

答:能,但只能存储单个汉字,不能存储字符串。
          因为java采用unicode编码,两个字节表示一个字符,无论是数字、字母、还是汉字或者其他内容都可以储存,而char在java中是两个字节,所以可以存储单个汉字

 三、分别简述什么是JDK、JRE、JVM,以及他们之间的关系?

 答: JDK:Java Development Kit
                   是java语言的软件开发工具包,整个java的核心,java运行环境JRE,java开发工具 ,  java基础类库。
             JRE:Java Runtime Environment
                        java的运行环境,包含JVM和java核心类库。
             JVM:Java Virtual
                         java的虚拟机,是整个java实现跨平台最核心的部分,能够运行java语言程序。


  四、java实现跨平台的原理是什么?

 答:在需要运行的Java应用程序的操作系统上,安装一个java虚拟机,由java虚拟机来负责java程序在系统中的运行,可以让同一个java程序在三个不同操作系统中都可以执行,实现跨平台性,也称为可移植性。

  五、Java代码是如何运行的?

  编译:通过javac命令将.Java文件编译成.class文件。
  执行:先启动Java虚拟机,再通过java虚拟机加载类名.class字节码文件,最后加载main方法执行。

  六、标识符及其命名规则?

 <1>标识符包括 类名 方法 字符段 变量 包名等
  <2> 可以由字母 数字 _  $ 组成                             
  <3> 严格遵循大小写,不能以数字开头,最好见名知意
  <4> 不能以关键字命名

  七、简述八种基本数据类型以及其所占的字节数。

存储类型

关键字

范围

占用字节

默认值

整型

byte

-128——127

1

0

short

-32768——32767

2

0

int

-21e——21e

4

0

long

取值范围很大

8

0L

浮点型

float

单精度

4

0.0f

double

双精度

8

0.0

字符型

char

0——65535

2

空格 0

布尔型

boolean

true false

1

false

  八、java的注释:

答:java代码的解释说明,不影响程序的运行,用于辅助读程序,共分为三种:
          单行注释   多行注释  多行注释  

  九、驼峰命名法:

首字母小写,多个单词从第二个单词开始首字母大写
 


 十、隐式转换和显式转换的区别?

       答:<1>小类型转大类型会发生隐式转换,不需要我们操作,编译器会自动进行转换
              <2>大类型转小类型会发生显式转换,需要我们在要转换的变量或数字前加小括号,小括号中放入要转换成的数据类型。
              <3>需要注意的是,如果小数转换整数,会直接将小数点后所有位数舍弃,不四舍五入。如果整数转化为小数,则在后面加.0
 

十一、++a和a++区别:

答:++ --在前:++a:先自增,再运算
             ++ --在后:a++:像运算,再自增
 

 十二、& 和 && 的区别:

  答:&:既是位运算符,也是逻辑运算符。
                   当&的两边时数字时,会将数字转换成二进制数字进行运算
                   当&的两边是boolean时,会进行逻辑判断
             &&:是逻辑运算符,也叫短路与
             区别:在判断时,如果表达式结果出现false
                        &&会直接返回false,不再对后续表达式进行判断,见false就false
                        &会将表达式都判断完才返回结果
                        推荐使用短路与,执行效率更高。

 十三、switch表达式都可以使用什么数据类型?

  答: byte short char int JDK7版本后可以使用String

 十四、怎么结束多层循环?


     答:设置一个标记,名字随意,:必须有,例如loop:
            在想要结束循环的位置写“break loop:”,即可跳出多层循环


 十五、分支结构有几种?语法结构怎么写?有什么区别?

 答:两种,if和switch
if:①单分支:if(){}括号里写的是 布尔型的判断式  
           结果为true或者 false 大括号中执行符合条件的代码
    ②双分支if(){ }  else{ }
    ③多分支if(){ }  else if(){ }  else if(){ }  else{ }
switch: switch() {case 1: case 2:  case 3:  default:   } 
                括号里写的是变量,  case后面写的是变量可能取到的值,
                在对应值的冒号后执行符合条件的代码,default代表默认情况,
                当不符合case的值时执行defalt中的代码

 十六、循环结构有几种?语法结构怎么写?有什么区别?

 答:三种
          (1)for(初始条件;循环条件;迭代因子)  { }     : 知道循环次数
          (2)while(boolean){ }     :循环次数不确定时,先判断,不符合规定,不执行代码
          (3)do{  }while(boolean );:循环次数不确定时,代码最少被执行一次,再去判断

 十七、生成随机数的方式有几种?语法结构怎么写?有什么区别?

答:两种
           Random ran=new Random();
           调用ran.nextXXX();随机生成整数,()里可以写范围
           Math.random();随机生成小数,可以通过运算达到条件


 十八、数组复制的方式有几种?怎么写?有什么区别?

 答:三种     int [] a = new int [1];定义初始数组
          (1)arrays.copyOf();
            例如:   int[] b = Arrays.copyOf(a, a.length);    
           当新数组的长度大于原数组的长度时,将原数组中的内容复制完毕后,后面空余的位置会自动填充数组元素的默认值,也称扩容
         (2)system.arraycopy();    
            例如:  System.arraycopy(a,2,b,5,2);
           截取目标数组中的一段,括号里有五个参数
           第一个参数是原数组,第二个参数是原数组的起始下标,
           第三个参数是目标数组,第四个参数是目标数组的起始下标
           第五个参数是要复制的长度,
         (3)定义数组=原数组
           例如:   int[ ]b = a;   
           数组的浅层复制,定义新的数组,没有在堆中新建地址,而是指向了a的地址,如果新的数组中的元素值改变,即改变了地址中的元素值,对应a的元素也会改变,

 十九、什么是二维数组?怎么创建二维数组?

答:存放数组的数组,也就是说数组里存的还是数组的数据形式。
              数据类型  [ ][ ] 变量名= new 数据类型[要存储多少个一维数组][存储一维数组的长度];


  
二十、成员变量和局部变量区别?

 答:成员变量:蓝色
            <1:位置在类中, 方法外
           <2:有默认值,可以直接使用
           <3:作用域是当前的类中
           局部变量:棕色
           <1:位置在类的方法中
           <2:没有默认值, 必须手动赋值
           <3:作用域是所在的方法内
        


二十一、如何进行单元测试?

 答:使用@Test注解进行单元测试,需要导入junit包,并且要求进行测试的方法必须是public void修饰,不能加static,也不能有返回值和参数。
    

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值