例1:
題目:某學(xué)生3門課的成績?nèi)缦拢?br>
STB:89; Java:90; SQL:60
編程實(shí)現(xiàn):
(1).Java課和SQL課的分?jǐn)?shù)之差;
(2).3門課的平均分委煤;
(3).使用條件運(yùn)算符輸出每門課的成績與平均分相比誰大誰小糜颠。
package test;
public class Score {
/**
* 運(yùn)算符的使用
* 2013年8月19日
* @param args
*/
// 主函數(shù):程序的入口
public static void main(String[] args) {
System.out.println("--------------------");
// 將3門課的名稱依次輸出
System.out.println("STB\t" + "Java\t" + "SQL\t");
// 將3門課的考試成績依次對應(yīng)輸出
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;
/*
* 實(shí)現(xiàn)問題(1):Java課和SQL課的分?jǐn)?shù)之差尝抖。
* 定義int型變量difference,將Java課和SQL課的分?jǐn)?shù)之差賦給它漓踢。
* 用到二元算術(shù)運(yùn)算符:-
*/
int difference = Java - SQL;
// 輸出問題(1)的結(jié)果
System.out.println("(1)Java課和SQL課的分?jǐn)?shù)之差:" + difference);
/*
* 實(shí)現(xiàn)問題(2):3門課的平均分牵署。
* 定義int型變量avg,將3門課的平均分賦給它喧半。
* 用到二元算術(shù)運(yùn)算符:+和/
*/
int avg = (STB + Java + SQL) / 3;
// 輸出問題(2)的結(jié)果
System.out.println("(2)3門課的平均分是:" + avg);
/*
* 實(shí)現(xiàn)問題(3):使用條件運(yùn)算符輸出每門課的成績與平均分相比誰大誰小奴迅。
* 用到條件運(yùn)算符:?: 以及 關(guān)系運(yùn)算符。
*/
// 為了輸出結(jié)果便于觀看挺据,因此先輸出題目序號(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以內(nèi)的所有奇數(shù)块仆,并求和构蹬。
程序1:
package test;
public class TestCycle {
/**
* 一重for循環(huán)
* 2013年8月21日
* @param args
*/
// 主函數(shù):程序的入口
public static void main(String[] args) {
// 定義一個變量sum,儲存和值悔据。
int sum = 0;
// 輸出1000以內(nèi)的全部奇數(shù)庄敛,要用到循環(huán),此處用for循環(huán)科汗。
for (int i = 0; i <= 1000; i++) {
// if語句藻烤,判斷是否是奇數(shù)
if (i % 2 != 0) {
// 嵌套的if語句,用于按照格式輸出
// 從所給格式可看出換行的條件:(i+1)%20==0
if ((i + 1) % 20 == 0) {
// 換行輸出每行最后一個數(shù)
System.out.println(i);
} else {
// 不是行末的數(shù)头滔,不換行輸出怖亭。
System.out.print(i + "\t");
}
// 在i取奇數(shù)時,將i加到sum中
sum += i;
} else {//此處的else可以寫坤检,也可以不寫
// 如果i不是奇數(shù)兴猩,則利用continue結(jié)束本次循環(huán),接著執(zhí)行下一次循環(huán)
continue;
}
}
// 在循環(huán)體外輸出sum的值缀蹄,即是1000以內(nèi)所有奇數(shù)的和峭跳。
System.out.println("1000以內(nèi)所有奇數(shù)的和是:" + sum);
}
}
程序2:
package test;
public class TeachHomework {
public static void main(String[] args) {
int sum = 0;
// 提供計數(shù)變量,負(fù)責(zé)對當(dāng)前每一列完成計數(shù)缺前,
// 當(dāng)?shù)降?0列時蛀醉,換行
int count = 0;
for (int i = 0; i <= 1000; i++) {
if (i % 2 != 0) {
System.out.print(i + "\t");
sum += i;
count++;
}
// 每打印10個數(shù)字時完成換行
if (count == 10) {
System.out.println();
// 從下一行第一列開始重新計數(shù)
count = 0;
}
}
System.out.println("1000以內(nèi)所有奇數(shù)的和是:" + sum);
}
}
例3:在屏幕上打印出1000以內(nèi)能被3或被5整除的數(shù),并求和衅码。
package testcycle;
public class Test1 {
/**
* for循環(huán)-if判斷語句的使用
* 2013年8月22日
* @param args
*/
//主函數(shù):程序的入口
public static void main(String[] args) {
//定義一個變量sum拯刁,用于存儲和值
int sum = 0;
//定義一個計數(shù)變量count,用于完成對每一列進(jìn)行計數(shù)
int count = 0;
//for循環(huán)完成1000以內(nèi)數(shù)的循環(huán)
for (int i = 0; i < 1000; i++) {
//if語句用于取出能被3整除或被5整除的數(shù)
if (i % 3 == 0 || i % 5 == 0) {
//不換行打印滿足條件的數(shù)逝段,并進(jìn)行格式化("\t")
System.out.print(i + "\t");
//將滿足條件的數(shù)加到sum中
sum += i;
//每出現(xiàn)一個滿足條件的數(shù)垛玻,count的值加1
count++;
}
//判斷列數(shù)
if (count == 10) {
//換行的條件:每10列換一行,即每打印10個數(shù)字換一行
System.out.println();
//下一行的第一列開始奶躯,重新計數(shù)
count = 0;
}
}
//換行帚桩,準(zhǔn)備進(jìn)行和值的打印
System.out.println();
//將滿足條件的數(shù)的和值打印
System.out.println("1000以內(nèi)能被3或被5整除的數(shù)字之和是:"+sum);
}
}
例4:從鍵盤輸入一個數(shù),以該數(shù)為正方形的邊長嘹黔,用*號在屏幕上打印出一個正方形账嚎。
package testcycle;
import java.util.Scanner;
public class Test2 {
/**
* 二重for循環(huán)的使用
* 2013年8月22日
* @param args
*/
// 主函數(shù):程序的入口
public static void main(String[] args) {
// 打印一行文字,提示用戶輸入正方形的邊長
System.out.println("請輸入正方形的邊長:");
// 用掃描器將用戶的輸入進(jìn)行掃描
Scanner scan = new Scanner(System.in);
// 將掃描的結(jié)果轉(zhuǎn)化成一個整數(shù)儡蔓,即正方形的邊長
int sidelength = scan.nextInt();
// 外層循環(huán):控制行
for (int i = 0; i < sidelength; i++) {
// 內(nèi)層循環(huán):控制列
for (int j = 0; j < sidelength; j++) {
// 每一行中郭蕉,依次不換行打印* ,即產(chǎn)生sidelength列
System.out.print("* ");
}
// 每一行的sidelength列打印完后喂江,進(jìn)行換行召锈。同樣產(chǎn)生sidelength行
System.out.println();
}
}
}
5、在屏幕上打印出一個靠右的直角三角形获询。
程序1:
package testcycle;
import java.util.Scanner;
public class Test3 {
/**
* 二重for循環(huán) (使用了三個for循環(huán))
* 2013年8月22日
* @param args
*/
// 主函數(shù):程序的入口
public static void main(String[] args) {
// 打印一行文字涨岁,提示用戶輸入三角形的行數(shù)
System.out.println("請輸入三角形的行數(shù):");
// 用掃描器將用戶的輸入進(jìn)行掃描
Scanner scan = new Scanner(System.in);
// 將掃描的結(jié)果轉(zhuǎn)化成一個整數(shù)拐袜,即正方形的邊長
int sidelength = scan.nextInt();
// 外層循環(huán):控制行
for (int i = 0; i < sidelength; i++) {
// 內(nèi)層循環(huán):控制列
// 用于輸出空格
// 根據(jù)格式找到空格滿足的規(guī)律:j<sidelength-i-1
for (int j = 0; j < sidelength - i - 1; j++) {
// 不換行輸出空格
System.out.print(" ");
}
// 用于輸出*號
// 根據(jù)格式找到*號滿足的規(guī)律:k<i+1
for (int k = 0; k < i + 1; k++) {
// 不換行輸出*號
System.out.print("*");
}
// 每一行完成之后,進(jìn)行換行
System.out.println();
}
}
}
程序2:
package testcycle;
import java.util.Scanner;
public class Test4 {
/**
* 二重for循環(huán)(使用了2個for循環(huán)和1個if-else判斷語句)
* 2013年8月22日
* @param args
*/
// 主函數(shù):程序的入口
public static void main(String[] args) {
// 打印一行文字梢薪,提示用戶輸入三角形的行數(shù)
System.out.println("請輸入三角形的行數(shù):");
// 用掃描器將用戶的輸入進(jìn)行掃描
Scanner scan = new Scanner(System.in);
// 將掃描的結(jié)果轉(zhuǎn)化成一個整數(shù)阻肿,即正方形的邊長
int sidelength = scan.nextInt();
// 外層循環(huán):控制行
for (int i = 0; i < sidelength; i++) {
// 內(nèi)層循環(huán):控制列
for (int j = 0; j < sidelength; j++) {
// 如果滿足j<sidelength-i-1,不換行輸出空格
if (j < sidelength - i - 1) {
System.out.print(" ");
// 若不滿足沮尿,則在其后接著輸出*號
} else {
System.out.print("*");
}
}
// 每一行完成之后,進(jìn)行換行
System.out.println();
}
}
}