1、 掌握Java的基本语法格式;
2、 掌握Java语言中的常量、变量和运算符的使用;
3、 掌握Java程序的流程控制语句、方法的定义与使用;
4、 掌握Java中数组的定义与使用。
1、标识符:Java语言使用的是Unicode字符集,使用2个字节表示一个符号,总共可描述65536个不同的符号,基本上可以描述世界上所有国家的文字。因此,除可以使用通常的方式来命名标识符之外,也可以使用中文、日文、朝鲜文作为标识符。但是,对于程序员来说:最好还是使用遵从一般规范。
2、在Java语言中规定了各基本类型的数据所占的固定字节数。分别如下:
整数类型:1个字节:byte 2个字节:short 4个字节:int 8个字节:long
字符类型:2个字节:char
浮点类型:4个字节:float 8个字节:double
布尔类型:boolean
与C语言不同的是,Java语言中增加了boolean类型,即逻辑类型(布尔类型),其变量只有2个常量值,绝对不能与C中的非0就是真、0就是假混淆。
运算规则、选择结构、循环结构、数组与C语言基本一致,不再赘述了。
1、身高预测
每个做父母的都关心自己孩子成人后的身高,据有关生理卫生知识与数理统计分析表明,影响小孩成人后身高的因素有遗传、饮食习惯与坚持体育锻炼等。小孩成人后的身高与其父母的身高和自身的性别密切相关。
设faHeight为其父身高,moHeight为其母身高,身高预测公式为:
男性成人时身高 = (faHeight + moHeight) * 0.54(cm)
女性成人时身高 = (faHeight * 0.923 + moHeight) / 2(cm)
此外,如果喜爱体育锻炼,那么可增加身高2%,如果有良好的卫生饮食习惯,那么可增加身高1.5%。
利用给定公式和身高预测方法对你的身高进行预测。
要求父母的身高、是否爱好体育锻炼等参数从键盘输入。
参考代码:
import java.util.Scanner;
public class Test1 {
public static void main(String[] args) {
float faHeight;
float moHeight;
int exercise;
int eat = 0;
int sex;
double tall = 0;
Scanner sc = new Scanner(System.in);
System.out.println("请输入你爸爸的身高(cm):");
faHeight = sc.nextFloat();
System.out.println("请输入你妈妈的身高(cm):");
moHeight = sc.nextFloat();
System.out.println("请问是否喜爱体育锻炼(是请输入1):");
exercise = sc.nextInt();
System.out.println("请问是否有良好的饮食习惯(是请输入1):");
exercise = sc.nextInt();
System.out.println("请问您的性别为:(1为男,2为女):");
sex = sc.nextInt();
if (sex == 1) {
tall = (faHeight + moHeight) * 0.54;
} else if (sex == 2) {
tall = (faHeight * 0.923 + moHeight) / 2;
} else {
System.out.println("输入错误!");
}
if (exercise == 1) {
tall = tall + tall * 0.2;
}
if (eat == 1) {
tall = tall + tall * 1.5;
}
System.out.println("经过分析您的身高约为:" + (int) tall + "cm");
}
}
程序运行结果:
2、编程实现,输入1个不多于四位的正整数。
(1)求它是几位数;
(2)分别打印出每一位数字;
(3)按逆序打印出该数,例如:原数是321输出123.
参考代码:
import java.util.Scanner;
public class Test2 {
public static void main(String[] args) {
int num;
int count = 0;
int temp;
Scanner sc = new Scanner(System.in);
System.out.println("请输入1个不多余四位的正整数:");
num = sc.nextInt();
temp = num;
while (temp / 10 != 0) {
temp = temp / 10;
count++;
}
count = count + 1;
System.out.println("您输入的位数为:" + count);
int[] arr = new int[count];
for (int i = 0; i < count; i++) {
arr[i] = num % 10;
num = num / 10;
}
System.out.println("分别打印每一位数字:");
for (int j = count - 1; j >= 0; j--) {
System.out.println(arr[j] + " ");
}
System.out.println("逆序打印该数字:");
for (int x = 0; x < count; x++) {
System.out.println(arr[x] + " ");
}
}
}
程序运行结果:
3、评委打分
需求:在编程竞赛中,有6个评委为参赛的选手打分,分数为0-100的整数分。
选手的最后得分为:去掉一个最高分和一个最低分后的4个评委的平均值(不考虑小数部分)
参考代码:
import java.util.Scanner;
public class Test3 {
public static void main(String[] args) {
int[] score = new int[6];
int max = 0;
int min = 0;
int max_sign = 0;
int min_sign = 0;
int sum = 0;
Scanner sc = new Scanner(System.in);
System.out.println("请输入6个评委的打分:");
for (int i = 0; i < 6; i++) {
score[i] = sc.nextInt();
}
max = score[0];
min = score[0];
System.out.println("6个评委的打分别为:");
for (int i = 0; i < 6; i++) {
System.out.print(score[i] + " ");
if (score[i] > max) {
max = score[i];
max_sign = i;
}
if (score[i] < min) {
min = score[i];
min_sign = i;
}
}
System.out.println();
System.out.println("去掉一个最高分:" + score[max_sign]+"分");
System.out.println("去掉一个最低分:" + score[min_sign]+"分");
for (int i = 0; i < 6; i++) {
if (i == max_sign || i == min_sign) {
continue;
}
sum = sum + score[i];
}
System.out.println("最后得分为:" + sum / 4.0);
}
}
程序运行结果:
通过本次实验,掌握了java语言的程序设计的基本方法,学会了java元中标识符的命名,运算符和表达式的应用,熟练掌握了java程序流程控制语句的运用。
在本次实验中:
1.使用了scanner对象,java.util.Scanner 是 Java5 的新特征可以通过scanner对象进行获取用户的输入,使用步骤要注意:
(1).导入:
import java.util.Scanner;
(2).创建对象
Scanner scan = new Scanner(System.in);
(3).next()方法是读取字符串,要读取到有效字符后才结束输入,不能读取空格,即遇到空格就停。
(4).其他的常用的方法
nextDouble();
nextLong();
nextInt();
nextFloat();
nextByte();
上述方法执行时都会造成堵塞,等待用户在命令行输入数据回车确认,输入时要注意类型的匹配。
2.本次实验我使用了数组,数组是一种引用数据类型,在使用数组时有多个数据,类型必须统一,否则会出错。数组的长度在程序运行期间不可以改变,使用动态初始化数组的时候,其中的元素将会自动拥有一个默认值。如下:
如果是整数类型:那么默认值为0
如果是浮点类型:那么默认值为0.0
如果是字符类型:那么默认值为\0
如果是布尔类型:那么默认值为false
如果是引用类型:那么默认值为null
数组的索引编号从0开始,一直到“数组的长度-1”为止。
for循环的使用过程中要灵活,循环如果满足了查找的需求 break 直接跳出,不浪费性能,灵活使用continue关键字。在利用for循环对数组进行遍历的时候,注意数组下标越界的情况,可灵活根据需要提取数组的相关信息。另外要注意空的死循环,不要在循环中new对象。