Java标识符与数据类型
1掌握 Java 标识符的练习
(1) Java 的标识符是用于定义 Java 程序中的变量、方法、类、接口、常量和包的名称。
标识符的命名必须严格遵守以下规定:
(2) Java 标识符必须以字母、下划线””和“
”
字
符
开
头
,
首
字
母
后
可
以
跟
任
意
的
字
母
、
数
字
、
下
划
线
”
”
和
“
”字符开头,首字母后可以跟任意的字母、数字、下划线”_”和“
”字符开头,首字母后可以跟任意的字母、数字、下划线””和“”符号,标识符可以包含数字,但是不能以数字开头,另外,除了下划线””和“$”符号外,标识符不能使用任何特殊符号。
(3) Java 标识符不能是系统关键字(如 int、布尔值(true 或是 false)或是保留字(null)中文字符也是 Java 合法的标识符字符,但习惯上不使用中文字符来命名 Java 标识符
2.说出以下作为变量名的标识符, 说出以下作为变量名的标识符, 哪个更好?
学生姓名
(a)xueshengxingming (b) xsxm ©studentname
(d)student_name (e) studentName (f) stuName
3. 理解数据类型和不同数据类型变量的运用方式
数据类型的作用是用于描述数据的表现形式和存储范围的。不同表现形式的数据体现了不同的数据类型,例如整数类型 100、小数类型 10.55 和字符类型’A’;另外不同长度范围的数据也被分为不同的数据类型,例如将数值在-32768~32767 的范围定义为短整型类型(short),而把-2,147,483,648~2,147,83,647 的数值范围定义为整型类型。以下是Java 的常用数据类型
类型 大小/格式 描述
byte
8 位二进制(1 字节)字节整型,数字类型,存储范围是-128~127 之间,不常用于存储数字,而是作为数据的基本单位——字节,常用于在读取文件和网络上数据时使用
short
16 位二进制(2 字节)短整型,数字类型,范为-32768~32767,因此用于存储小范围员工编号时很有用
int
32 位二进制(4 字节)整型,数字类型,最大不超过 2,147,483,648,用于存储较大的数字,例如某企业的现金流
long
64 位二进制(8 字节)长整型,数字类型,范围是 int 类型的平方,用于存储海量数据,例如银行 10 年的所有交易次数,数值后需跟’l’或’L’
float
32 位二进制(4 字节)浮点型,存储带有小数的数字,例如产品的价格,小数部分进度不超过 7 位。数值后需跟’f ’或’F’
double
64 位二进制(8 字节)双精度型,存储带有小数的大型数值,例如国家一年的 GDP 生产总值,小数部分可达 15 位
char
32 位二进制(4 字节)字符类型,存储单个的英文字母、特殊字符或是一个汉字。字符数据需用’'进行定义,例如’好’
String
无限制字符串类型,可存储字符序列,字符序列需用"“进行指定,例如"张海迪”
boolean
1 位二进制 布尔类型,只能存储 true 和 false 两种状态
变量定义定义定义 是计算机内存中的一个命名后的存储区域,存储区域分配的大小以及存储数据在计算机中的表示方式需要使用数据类型进行指定,因此变量的定义方法是:
datatype identifier [=value];
例如:
char sex;
int age = 19;
4.练习各种数据类型之间的转换 .练习各种数据类型之间的转换
Java 不同数据类型的数值可以进行相互转换,但转换需要遵守一定的规则,即数据类型的存储范围小的值可以自动赋值给存储范围大的数据类型;而反之,由于大的赋值给小的则有可能会出现数值溢出,因此需要使用强制转换,即:
目标类型 变量名 = (目标类型)元类型变量/数据
三、 实训内容
实训1 :对以下 17 个变量标识符的定义进行合法性判断,请先对这些标识符按照课本上的定义方法进行合法性判断,然后在 Eclipse 使用以下程序来验证判断的正确性。
package edu.learn;
public class Identify {
/*
* 学习 Java 标识符的规则
*/
public static void main(String[] args) {
int _stuid;
int 9name;
int 姓名;
int $salary;
int student_name;
int teach$salary;
int int;
int file-name;
int dad&ma;
int _薪水;
int %年龄%;
int my12month$salary;
int _1997;
int 1997;
int Plane Id;
int Plane_Id;
int null;
}
}
进行修正后的代码:
package edu.learn;
public class Heart {
public static void main(String[] args) {
// TODO Auto-generated method stub
int _stuid;
int name;
int mingzi;
int $salary;
int student_name;
int teach$salary;
int in;
int file_name;
int dad$ma;
int _薪水;
int $age$;
int my12month$salary;
int _1997;
int y1997;
int PlaneId;
int Plane_Id;
int null1;
}
}
实训2 :编写程序请按照最合理的方式定义如下标识符 按照最合理的方式定义如下标识符并输出
图书价格:
图书作者:
年龄:
性别:
第一个数字:
第二个数字:
两个数的和:
package edu.learn;
public class Identify {
/*
* 学习Java标识符的规则
*/
public static void main(String[] args) {
String price="图书价格:";
String writer="图书作者:";
String age="年龄:";
String sex="性别:";
String first="第一个数字:";
String second="第二个数字:";
String sum="两个数的和:";
System.out.println(price);
System.out.println(writer);
System.out.println(age);
System.out.println(sex);
System.out.println(first);
System.out.println(second);
System.out.println(sum);
}
}
实训 3:利用所学习的 :利用所学习的 Java 的数据类型和变量的定义方法, 的数据类型和变量的定义方法,完成以下数据的变量 完成以下数据的变量定义、 赋值和输出 赋值和输出。
package edu.learn;
public class DateType{
/*
* 学习 Java 数据类型存储内容范围及表现形式。
* 学习变量的定义方式,以下的变量定义均使用初始化方法给予变量初值
*/
public static void main(String[] args) {
byte b = 100;
short s = 10000;
int i = 1000000000;
long l = 10000000000000000L;
float f = 3.12345f;
double d = 3.123456789876543;
char c = 'A';
char c1 = '9';
String str = "计算机系";
String str1 = "123456789";
《《《Java 《JavaJava Java 程序设计 程序设计》 程序设计》》》 任课教师 任课教师: 任课教师:::朱元静 朱元静 朱元静
boolean bool = true;
boolean bool1 = false;
//输出以上变量中的内容,与 C 语言不同的是,Java 的输出语句
println
//是不需要考虑其数据类型的
System.out.println("b=" + b);
System.out.println("s=" + s);
System.out.println("i=" + i);
System.out.println("l=" + l);
System.out.println("f=" + f);
System.out.println("d=" + d);
System.out.println("c=" + c);
System.out.println("c1=" + c1);
System.out.println("str=" + str);
System.out.println("str1=" + str1);
System.out.println("bool=" + bool);
System.out.println("bool1=" + bool);
}
}
实训 4:通过以下内容理解和掌握各种基本数据类型之间的转换方式 通过以下内容理解和掌握各种基本数据类型之间的转换方式( 通过以下内容理解和掌握各种基本数据类型之间的转换方式(自动转换和 强制转换)
package edu.learn;
public class DateTypeTrans {
/**
* 学习不同数据类型间的转换
*/
public static void main(String[] args) {
//小类型转换为大类型使用自动转换
byte b = 100; //1个字节
short s = b; //2个字节
int i = s; //4个字节
long l = i; //8个字节
System.out.println(l);
《《《Java 《JavaJava Java 程序设计 程序设计》 程序设计》》》 任课教师 任课教师: 任课教师:::朱元静 朱元静 朱元静
//大类型转换为小类型使用强制转换
l = 99; //8个字节
i = (int)l; //4个字节
s = (short)i;//2个字节
b = (byte)s; //1个字节
System.out.println(b);
float f = 3.1552f;
double d = f; //4个字节的float转换为8个字节的double,自
动转换
System.out.println(d);
d = 3.1999527699;
f = (float)d; //8个字节的double转换为4个字节的float,用强
制转换
System.out.println(f);
i= 10000;
f = i; //4个字节的int转换为为4个字节的float,自动转换
System.out.println(f);
d = 10000.5555555555;
i = (int)d; //8个字节长度的double转换为4个字节长度的int,
要用强制转换
System.out.println(i);
}
}
555.5...实训实训实训实训 5:5:5:5:请同学们 请同学们编写程序 请同学们编写程序为以下数据定义合适的变量进行存储 编写程序为以下数据定义合适的变量进行存储, 为以下数据定义合适的变量进行存储,,,变量要求在类型和 变量要求在类型和
大小上予以匹配, 大小上予以匹配,,,实现后再使用 实现后再使用 System.out.println();输出变量中的值矩形长 输出变量中的值矩形长
14.25。。。。
例子:float width = 14.25;
矩形宽 6.98
矩形面积 99.465
圆周率 3.1415926465677688
学生年龄 19
教师性别 ‘M’ 或者 ‘W’
教师工号 110
存款金额 350500.56
内存值 320 * 1024 (320G)
[考试]是否通过 ‘P’ 或 ‘N’
package edu.learn;
public class DateTypeTrans {
public static void main(String[] args) {
// TODO Auto-generated method stub
double width=6.98;
double area=99.465;
double pi=3.1415926465677688;
int age=19;
char sex1='M';
char sex2='W';
int number=110;
double money=350500.56;
int ram1=320;
int ram2=1024;
int ram=320;
char whether1='p';
char whether2='N';
System.out.println("矩形宽:"+width);
System.out.println("矩形面积:"+area);
System.out.println("圆周率:"+pi);
System.out.println("学生年龄:"+age);
System.out.println("教师性别:'"+sex1+"'或'"+sex2+"'");
System.out.println("教师工号:"+number);
System.out.println("矩形宽:"+width);
System.out.println("存款金额:"+money);
System.out.println("内存值:"+ram1+"*"+ram2+"("+ram+"G)");
System.out.println("考试是否通过:'"+whether1+"'或'"+whether2+"'");
}
}
实训 6: 扩展题编写程序 扩展题编写程序, 输入如下代码 体验编程的乐趣 。
import java.awt.*;
import java.awt.Toolkit;
import javax.swing.JFrame;
public class BallGame extends JFrame{//添加小球和桌面图片的路径
Image ball =
Toolkit.getDefaultToolkit().getImage("images/ball.png");
Image desk =
Toolkit.getDefaultToolkit().getImage("images/desk.jpg");
//指定小球的初始位置
double x=100; //小球的横坐标
double y=100; //小球的纵坐标
double degree = 3.14/3; //弧度:小球的运动角度,此处就是60度
//画窗口的方法:加载小球与桌面
public void paint(Graphics g){
System.out.println("窗口被画了一次!");
g.drawImage(desk, 0, 0, null);
g.drawImage(ball, (int)x, (int)y, null);
//根据角度degree改变小球坐标
x=x+10*Math.cos(degree);
y=y+10*Math.sin(degree);
//边界检测:碰到上下边界
//500是窗口高度,40是桌子边框,30是小球的直径;最后一个40是标题栏的高 度
if(y>500-40-30 || y<40+40){
degree=-degree;
}
//边界检测:碰到左右边界
//856是窗口高度,40是桌子边框,30是小球的直径
if(x<40 || x>856-4-30){
degree=3.14 - degree;
}
}
//窗口加载
void launchFrame(){
setSize(865,500);
setLocation(50,50);
setVisible(true);
//重画窗口,每秒画25次
while(true){
repaint();//调用repaint方法,窗口即可重画
try{
Thread.sleep(40);//40ms 1s=1000ms 大约一秒画25次窗口
}catch(Exception e){
e.printStackTrace();
}
}
}
//main方法是程序执行的入口
public static void main(String[] args){
System.out.println(" 我是燕,这个游戏项目让大家体验编程的快感,寓
教于乐!");
BallGame game = new BallGame();
game.launchFrame();
}
}