1.java语言定义了哪几种基本数据类型?
Java语言的数据类型分为两大类:(1)基本数据类型
整型:byte,short,int,long
浮点型:float,double
布尔型:Boolean
字符型:char
(2)引用数据类型
2.表示整数类型数据的关键字有哪几个?他们各占用几个字节?
8个;
数据类型 | 关键字 | 占用字节数 |
布尔型 | Boolean | 1 |
字节型 | byte | 1 |
短整型 | short | 2 |
整型 | int | 4 |
长整型 | long | 8 |
单精度浮点型 | float | 4 |
双精度浮点型 | double | 8 |
字符型 | char | 2 |
3.单精度浮点型(float)和双精度浮点型(double)的区别是什么?
数据类型 | 关键字 | 占用字节数 | 默认数值 | 取值范围 |
单精度浮点型 | float | 4 | 0.0F | 负数范围:—3.4028235E+38~—1.4E-45 正数范围: —1.4E-45~3.4028235E+38 |
双精度浮点型 | double | 8 | 0.0D | 负数范围:—1.7976931348623157E+308~—4.9E-324 正数范围:4.9E-324~1.7976931348623157E+308 |
如上表所示
即他们在内存中占有的字节数不同,有效数字位不同,所表示数的范围不同,同时他们在程序中处理速度不同。
4.字符型常量与字符串常量的主要区别?
(1)形式上: 字符常量是单引号引起的一个字符,字符串常量是双引号引起的若干个字符;
(2)含义上: 字符常量相当于一个整型值( ASCII 值),可以参加表达式运算;字符串常量代表一个地址值(该字符串在内存中存放位置,相当于对象;
(3)占内存大小:字符常量只占2个字节;字符串常量占若干个字节(至少一个字符结束标志) (注意: char 在Java中占两个字节)。
5.简述java语言对定义标识符的规定?
类和接口名的定义规则:每个字的首字母大写,含有大小写。例如,驼峰法:MyClass,HelloWorld,Time等。
方法名62616964757a686964616fe59b9ee7ad9431333366306433定义规则:首字符小写,其余的首字母大写,含大小写。尽量少用下划线。例如,myName,setTime等。这种命名方法叫做驼峰式命名。
常量名定义规则:基本数据类型的常量名使用全部大写字母,字与字之间用下划线分隔。对象常量可大小混写。例如,SIZE_NAME。
变量名定义规则:支持大小写混写,首字符小写,空间分隔符用字的首字母大写。尽量不用下划线,少用美元符号。给变量命名是尽量做到见名知义。
java标识符定义时,不能以数字开头,也不能是关键字,更不能有空格。
6.java语言采用何种编码方案?有何特点?
采用的是 Unicode 编码方案,Unicode(标准码)为每个字符指定了唯一的一个数值,因此在任何的语言,平台,程序中都可以放心使用
什么是强制类型转换,在什么情况下需要使用强制类型转换?
要将较长的数据转换成较短的数据,向下类型转换(子类转父类)。当子类有的方法,父类中没有的时候,这时候就需要将父类转换为子类,这样就可以使用子类里有父类里没有的方法了。
8自动类型转换的前提是什么,转换是从“短”到“长”的优先级顺序是怎样的?
转换前的数据类型与转换后的数据类型兼容;
转换后的数据类型的表示范围比转换后的数据类型的表示范围大;
优先级顺序:从低到高byte,short,char,int,long,float,double
9.数字字符串转换为数值型数据时,所使用的方法有哪些?
Byte.parseByte();
Short.parseShort();
Integer.parseInteger();
Long.parseLong();
Float.parseFloat();
Double.parseDouble();
10.写出由键盘输入数据的俩种基本格式。
BufferedRader和Scanner
11编写程序,从键盘输入一个浮点数,然后将该浮点数的整数部分输出?
import java.util.Scanner;
public class Test1 {
public static void main(String[] args) {
double num;
System.out.println("请输入浮点数");
Scanner sc=new Scanner(System.in);
num=sc.nextDouble();
System.out.println((int)num);
}
}
12编写程序,从键盘上输入两个整数,然后计算它们相除后得到的结果并输出?
import java.util.Scanner;
public class Test1 {
public static void main(String[] args) {
int num1,num2;
Scanner reader=new Scanner(System.in);
System.out.println("请输入第一个数:");
num1= reader.nextInt();//将输入的类容作为int类型赋值给变量num1
System.out.println("请输入第二个数:");
num2= reader.nextInt();//将输入的类容作为double类型赋值给变量num1
System.out.println("相除后的结果:"+(num1/num2));
}
}
13.编写程序,从键盘上输入圆柱体的低半径r和高h,然后计算其体积并输出?
import java.util.Scanner;
public class Test1 {
public static void main(String[] args) {
double r,h;
final float PI=3.14f;
Scanner reader=new Scanner(System.in);
System.out.println("请输入低半径r:");
r= reader.nextDouble();//将输入的类容作为double类型赋值给变量r
System.out.println("请输入高h:");
h= reader.nextDouble();//将输入的类容作为double类型赋值给变量h
System.out.println("圆柱体的体积:"+(PI*Math.pow(r,2)*h));
}
}
14.Java语言有哪些算术运算符、关系运算符、逻辑运算符、位运算符和赋值运算符?
算术运算符:+ - * / % ++ --;
关系运算符:> < >= <= == !=;
逻辑运算符:! && || & |;
位运算符: >> << >>> & | ^ ~;
赋值运算符:=及其扩展赋值运算符,如+=、/=等。
15逻辑运算符中的“逻辑与、逻辑或”和“简介与、简洁或” 的区别是什么?
非简洁运算在必须计算完左右两个表达式之后,才取结果值;而简洁运算可能只计算左边的表达式而不计算右边的表达式,即对于&&,只要左边表达式为false,就不计算右边表达式,整个表达式为false;对于||,只要左边表达式为true,就不计算右边表达式,整个表达式为true。
16运算符与位运算符的区别是什么?
针对数据类型不同:逻辑运算符只能针对boolean类型进行逻辑运算 ,位运算符还可以对数值进行逻辑运算。
逻辑运算符存在短路的现象,即前边的表达式可以得到最终结果是,后面的表达式将不被执行。而位运算符不存在短路现象,位运算是把两边的数据全部变成二进制补码的形式,然后进行计算的。
17什么是运算符的优先级和结合性?
优先级决定了表达式中不同运算执行的先后顺序;
结合性决定了并列的多个同级运算符的先后执行顺序。
18.写出下列表达式的值,设:x=3,y=17,yn=true。
(1)x + y * x-- = 54
(2)-x * y + y = -34
(3)x < y && yn = true
(4)x > y || !yn = false
(5)y != ++x ? x : y = 3
(6)y++ / --x = 9
注:若有错误欢迎大家指出讨论。