例1:
题目:某学生3门课的成绩如下:
STB:89; Java:90; SQL:60
编程实现:
(1).Java课和SQL课的分数之差;
(2).3门课的平均分;
(3).使用条件运算符输出每门课的成绩与平均分相比谁大谁小。
package test;
public class Score {
/**
* 运算符的使用
* 2013年8月19日
* @param args
*/
// 主函数:程序的入口
public static void main(String[] args) {
System.out.println("--------------------");
// 将3门课的名称依次输出
System.out.println("STB\t" + "Java\t" + "SQL\t");
// 将3门课的考试成绩依次对应输出
System.out.println("89\t" + "90\t" + "60\t");
System.out.println("--------------------");
// 定义3个int型变量,分别代表3门课;并为3门课分别赋值,值为3门课的考试成绩。
int STB = 89;
int Java = 90;
int SQL = 60;
/*
* 实现问题(1):Java课和SQL课的分数之差。
* 定义int型变量difference,将Java课和SQL课的分数之差赋给它。
* 用到二元算术运算符:-
*/
int difference = Java - SQL;
// 输出问题(1)的结果
System.out.println("(1)Java课和SQL课的分数之差:" + difference);
/*
* 实现问题(2):3门课的平均分。
* 定义int型变量avg,将3门课的平均分赋给它。
* 用到二元算术运算符:+和/
*/
int avg = (STB + Java + SQL) / 3;
// 输出问题(2)的结果
System.out.println("(2)3门课的平均分是:" + avg);
/*
* 实现问题(3):使用条件运算符输出每门课的成绩与平均分相比谁大谁小。
* 用到条件运算符:?: 以及 关系运算符。
*/
// 为了输出结果便于观看,因此先输出题目序号(3)
System.out.println("(3)");
// 输出STB课的成绩与平均分相比谁大谁小
System.out.println("STB课的成绩与平均分相比:"
+ ((STB > avg) ? "STB课的成绩大,平均分小" : "STB课的成绩小,平均分大"));
// 输出Java课的成绩与平均分相比谁大谁小
System.out.println("Java课的成绩与平均分相比:"
+ ((Java > avg) ? "Java课的成绩大,平均分小" : "Java课的成绩小,平均分大"));
// 输出SQL课的成绩与平均分相比谁大谁小
System.out.println("SQL课的成绩与平均分相比:"
+ ((SQL > avg) ? "SQL课的成绩大,平均分小" : "SQL课的成绩小,平均分大"));
}
}
例2:在屏幕上按下格式打印出1000以内的所有奇数,并求和。
程序1:
package test;
public class TestCycle {
/**
* 一重for循环
* 2013年8月21日
* @param args
*/
// 主函数:程序的入口
public static void main(String[] args) {
// 定义一个变量sum,储存和值。
int sum = 0;
// 输出1000以内的全部奇数,要用到循环,此处用for循环。
for (int i = 0; i <= 1000; i++) {
// if语句,判断是否是奇数
if (i % 2 != 0) {
// 嵌套的if语句,用于按照格式输出
// 从所给格式可看出换行的条件:(i+1)%20==0
if ((i + 1) % 20 == 0) {
// 换行输出每行最后一个数
System.out.println(i);
} else {
// 不是行末的数,不换行输出。
System.out.print(i + "\t");
}
// 在i取奇数时,将i加到sum中
sum += i;
} else {//此处的else可以写,也可以不写
// 如果i不是奇数,则利用continue结束本次循环,接着执行下一次循环
continue;
}
}
// 在循环体外输出sum的值,即是1000以内所有奇数的和。
System.out.println("1000以内所有奇数的和是:" + sum);
}
}
程序2:
package test;
public class TeachHomework {
public static void main(String[] args) {
int sum = 0;
// 提供计数变量,负责对当前每一列完成计数,
// 当到第10列时,换行
int count = 0;
for (int i = 0; i <= 1000; i++) {
if (i % 2 != 0) {
System.out.print(i + "\t");
sum += i;
count++;
}
// 每打印10个数字时完成换行
if (count == 10) {
System.out.println();
// 从下一行第一列开始重新计数
count = 0;
}
}
System.out.println("1000以内所有奇数的和是:" + sum);
}
}
例3:在屏幕上打印出1000以内能被3或被5整除的数,并求和。
package testcycle;
public class Test1 {
/**
* for循环-if判断语句的使用
* 2013年8月22日
* @param args
*/
//主函数:程序的入口
public static void main(String[] args) {
//定义一个变量sum,用于存储和值
int sum = 0;
//定义一个计数变量count,用于完成对每一列进行计数
int count = 0;
//for循环完成1000以内数的循环
for (int i = 0; i < 1000; i++) {
//if语句用于取出能被3整除或被5整除的数
if (i % 3 == 0 || i % 5 == 0) {
//不换行打印满足条件的数,并进行格式化("\t")
System.out.print(i + "\t");
//将满足条件的数加到sum中
sum += i;
//每出现一个满足条件的数,count的值加1
count++;
}
//判断列数
if (count == 10) {
//换行的条件:每10列换一行,即每打印10个数字换一行
System.out.println();
//下一行的第一列开始,重新计数
count = 0;
}
}
//换行,准备进行和值的打印
System.out.println();
//将满足条件的数的和值打印
System.out.println("1000以内能被3或被5整除的数字之和是:"+sum);
}
}
例4:从键盘输入一个数,以该数为正方形的边长,用*号在屏幕上打印出一个正方形。
package testcycle;
import java.util.Scanner;
public class Test2 {
/**
* 二重for循环的使用
* 2013年8月22日
* @param args
*/
// 主函数:程序的入口
public static void main(String[] args) {
// 打印一行文字,提示用户输入正方形的边长
System.out.println("请输入正方形的边长:");
// 用扫描器将用户的输入进行扫描
Scanner scan = new Scanner(System.in);
// 将扫描的结果转化成一个整数,即正方形的边长
int sidelength = scan.nextInt();
// 外层循环:控制行
for (int i = 0; i < sidelength; i++) {
// 内层循环:控制列
for (int j = 0; j < sidelength; j++) {
// 每一行中,依次不换行打印* ,即产生sidelength列
System.out.print("* ");
}
// 每一行的sidelength列打印完后,进行换行。同样产生sidelength行
System.out.println();
}
}
}
5、在屏幕上打印出一个靠右的直角三角形。
程序1:
package testcycle;
import java.util.Scanner;
public class Test3 {
/**
* 二重for循环 (使用了三个for循环)
* 2013年8月22日
* @param args
*/
// 主函数:程序的入口
public static void main(String[] args) {
// 打印一行文字,提示用户输入三角形的行数
System.out.println("请输入三角形的行数:");
// 用扫描器将用户的输入进行扫描
Scanner scan = new Scanner(System.in);
// 将扫描的结果转化成一个整数,即正方形的边长
int sidelength = scan.nextInt();
// 外层循环:控制行
for (int i = 0; i < sidelength; i++) {
// 内层循环:控制列
// 用于输出空格
// 根据格式找到空格满足的规律:j
程序2:
package testcycle;
import java.util.Scanner;
public class Test4 {
/**
* 二重for循环(使用了2个for循环和1个if-else判断语句)
* 2013年8月22日
* @param args
*/
// 主函数:程序的入口
public static void main(String[] args) {
// 打印一行文字,提示用户输入三角形的行数
System.out.println("请输入三角形的行数:");
// 用扫描器将用户的输入进行扫描
Scanner scan = new Scanner(System.in);
// 将扫描的结果转化成一个整数,即正方形的边长
int sidelength = scan.nextInt();
// 外层循环:控制行
for (int i = 0; i < sidelength; i++) {
// 内层循环:控制列
for (int j = 0; j < sidelength; j++) {
// 如果满足j