#Java学习笔记(2)
Java语言基础
1、简述Java语言对于标识符定义有哪些要求?试述下面几个标识符哪些是对 ?哪些是错的?
(1) int char ;-(2) char ; (3) float fLut ; (4) byte Cy%ty=12345;
(5) double Dou_St; (6) String (key); (7) long $123=123456L;
(8) boolean aa=123.45
标识符就是用于给 Java 程序中变量、类、方法等命名的符号。标识符定义的方法有一种约定,即由一个字母或者一串以字母开头由字母、数字或符号组成的字符串。具体要求如下:
1. 符号只允许下划线_和美元$符号;
2. 名字长度不限;
3. 注意英文字母大小写代表不同含义;
4. 取名应遵循易于理解、便于记忆的原则;
5. 不可以把保留字作为名字来用。
题中的标识符(3)、(4)、(5)、(7)是正确的,(1)、(2)、(6)、(8)是错误的,(1)中char作为保留字,不能作为标识符,违反要求5;(2)中只有标识符的类型声明,没有标识符;(6)中标识符中不能出现除下划线和美元之外的符号,违反要求1;(8)中标识符boolean声明的为布尔类型的变量,只能赋值为true或false。
2、下面这些是常量吗?是什么类型常量?
true, -66 ,042, N, ‘//’, 0L, 0xa1, “//” s
题中true是boolean的常量,恒为1;-66为10进制int常量,042为8进制int常量,0xa1为16进制int常量;’//’为字符型常量”//”为string类型常量。
N、s不为常量,为变量
,
3、 什么是变量?变量名与变量值有什么本质区别?
变量是所涉及的由我们声明的,计算机分配资源的抽象。在JAVA中我们通过三个元素来描述变量:变量类型,变量名以及变量值。变量是对变量的标识,是其区别于其他变量的标准;变量值是指分配给变量中的数值类的计算机资源。
4、若已知x=5, y=9, z=0, f=true;计算下列z的值。
(1)z=z+y*x++ (2)z=x>y&&f (3) z=y+++x (4) z=y+x++
(5) z=~x (6) z=x<y||!f (7) z=x^y (8) z=x<<y
Z的值如下表:
Tables | ti | mu | 4 |
---|---|---|---|
(1) | (2) | (3) | (4) |
45 | false | 15 | 14 |
(5) | (6) | (7) | (8) |
-6 | true | 12 | 2560 |
其中(2)、(6)为逻辑计算表达式,此时z=0解释为z为false,但是赋值时只能为false
(5)解释:首先要明确,取反是二进制操作
下面以5为例:
二进制原码:0000 0000 0000 0000 0000 0000 0000 0101
取反操作后:1111 1111 1111 1111 1111 1111 1111 1010
而在Java中,有符号整数都是用补码来表示,而补码=反码+1
1.先求反码:1000 0000 0000 0000 0000 0000 0000 0101
2.再求补码:1000 0000 0000 0000 0000 0000 0000 0110
最高位代表符号位 1 表示负数,0 表示正数 所以结果是-6
(7)00001001^00000101=00001100
相关链接:http://www.runoob.com/java/java-operators.html
当然简单粗暴直接试代码:
package xiti;
import java.util.Scanner;
public class xiti2_4 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scanner = new Scanner(System.in);
int z=0;
int x=5,y=9;
boolean f=true;
z=z+y*x++;//(1)
System.out.println("z的值为:"+z);
x=5;y=9;z=0;
z=y+++x;//(3)
System.out.println("z的值为:"+z);
x=5;y=9;z=0;
z=y+x++;//(4)
System.out.println("z的值为:"+z);
x=5;y=9;z=0;
z=~x ;//(5)
System.out.println("z的值为:"+z);
x=5;y=9;z=0;
z=x^y ;//(7)
System.out.println("z的值为:"+z);
x=5;y=9;z=0;
z=x<<y ;//(8)
System.out.println("z的值为:"+z);
// boolean z=false;
// z=x>y&&f;//(2)
// System.out.println("z的值为:"+z);
//
// z=x<y||!f;//(6)
// System.out.println("z的值为:"+z);
}
}
5、什么是表达式?什么是语句?
表达式是用运算符把操作数(变量、常量和方法)连接起来表达某种运算或含义的式子。
语句是构成程序的基本单位,语句具有独立完整的含义,可以对计算机发出操作命令,每一条语句都必须以分号作为结束符
6、试编写一个将摄氏温度转换为华氏温度的程序,其转换公式如下:
华氏温度=(9/5)*摄氏温度+32
package xiti;
import java.util.Scanner;
public class xiti2_6 {
public static void main(String[] args) {
double temp_hua=0;
Scanner scanner = new Scanner(System.in);
System.out.println("请输入摄氏温度:");
double temp_she = scanner.nextDouble();
temp_hua=(9.0/5)*temp_she+32;
System.out.println("华氏温度为:"+temp_hua);
}
}
7、已知圆球体积为4/3πr3,试编写一个程序,输入圆球半径,经过计算输出圆球的体积。
见附件xiti2_7
package xiti;
import java.util.Scanner;
/**
* @author Lee
*
*/
public class xiti2_7 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scanner = new Scanner(System.in);
double tiji=0;
System.out.println("请输入圆球半径:");
double r = scanner.nextDouble();
tiji=4.0/3*3.14*r*r*r;
System.out.println("该圆球体积为:"+tiji);
}
}
上一篇: KMP 深入理解next数组
下一篇: 定义概念