先写类写方法 方法上加@ Test 引junnit
断点调试 双击断点 Debug as F6 单步调试 F8 结束断点调试
分支
if else
package javaseday02;
import java.util.Scanner;
import org.junit.Test;
public class IfTest {
@Test
public void myTest1() {
// 用户输入一个成绩
int score = 70;
// 如果大于90,输入优
// >=80 良
// >=70 中
// >=60及格
// <60不及格
// condition是一个判断条件,返回值应该为boolean
if (score >= 90)// y为condition=true时走这
{
System.out.println("成绩大于等于90");
System.out.println("等级为优");
} else if (score >= 80)// y为condition=flase时走这
{
System.out.println("良");
} else if (score >= 70) {
System.out.println("中");
} else if (score >= 60) {
System.out.println("及格");
} else {// 其他所有情况
System.out.println("不及格");
}
System.out.println("执行完毕");
}
编写程序, 判断一个变量x的值,如果是1,输出x=1,如果是5, 输出x=5,如果是 10,输出x=10, 除了以上几个值,都输出x=none。
@Test
public void myTest2() {
Scanner sc = new Scanner(System.in);
int x = sc.nextInt();
if (x == 1) {
System.out.println("x=1");
} else if (x == 5) {
System.out.println("x=5");
} else if (x == 10) {
System.out.println("x=10");
} else {
System.out.println("x=none");
}
}
switch…case给定一个变量必须指定变量 char byte short int(jdk1.7以后)string
用switch能实现的用if一定能实现,用if能实现的用switch不一定能实现
switch…case
@Test
public void myTest3() {
// 1-7 星期1
char key = '1';
// key的类型 char byte short int string
switch (key) {
case '1':
System.out.println("星期一");
break;
case '2':
System.out.println("星期二");
break;
case '3':
System.out.println("星期三");
break;
case '4':
System.out.println("星期四");
break;
case '5':
System.out.println("星期五");
break;
case '6':
System.out.println("星期六");
break;
case '7':
System.out.println("星期日");
break;
default:
System.out.println("输入错误,必须输入1-7");
break;
}
System.out.println("结束");
}
给定一个成绩a,使用switch结构求出a的等级。A:90-100,B:80-89,C:70-79,D:60-69,E:0~59
@Test
public void myTest4() {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
if (a < 0 || a > 100)
System.out.println("输入不合法");
else {
switch (a / 10) {
case 10:
System.out.println("a的等级为A");
break;
case 9:
System.out.println("a的等级为A");
break;
case 8:
System.out.println("a的等级为B");
break;
case 7:
System.out.println("a的等级为C");
break;
case 6:
System.out.println("a的等级为D");
break;
default:
System.out.println("a的等级为E");
break;
}
}
}
输入一个年份,判断这个年份是否是闰年
@Test
public void myTest5() {
System.out.println("请输入一个四位的年份");
// 能被100整除的同时被400整除的
// 不能被100整除的同时能被4整除
Scanner sc = new Scanner(System.in);
int y = sc.nextInt();
if (y % 100 == 0) {
if (y % 400 == 0) {
System.out.println(y + "是闰年");
} else {
System.out.println(y + "是平年");
}
} else {
if (y % 4 == 0) {
System.out.println(y + "是闰年");
} else {
System.out.println(y + "是平年");
}
}
}
有一个不多于5位的正整数,求它是几位数,分别打印出每一位数字。
@Test
public void myTest6() {
System.out.println("请输入一个不多于5位的正整数");
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
if (a / 10000 % 10 != 0) {
System.out.println("该数是一个5位数");
int wan=a/10000%10;
int qian=a/1000%10;
int bai=a/100%10;
int shi=a/10%10;
int ge=a/1%10;
System.out.println("万位数是"+wan);
System.out.println("千位数是"+qian);
System.out.println("百位数是"+bai);
System.out.println("十位数是"+shi);
System.out.println("个位数是"+ge);
}
else {
if (a / 1000 % 10 != 0) {
System.out.println("该数是一个4位数");
int qian=a/1000%10;
int bai=a/100%10;
int shi=a/10%10;
int ge=a/1%10;
System.out.println("千位数是"+qian);
System.out.println("百位数是"+bai);
System.out.println("十位数是"+shi);
System.out.println("个位数是"+ge);
}
else
{
if (a / 100 % 10 != 0) {
System.out.println("该数是一个3位数");
int bai=a/100%10;
int shi=a/10%10;
int ge=a/1%10;
System.out.println("百位数是"+bai);
System.out.println("十位数是"+shi);
System.out.println("个位数是"+ge);
}
else
if (a / 10 % 10 != 0) {
System.out.println("该数是一个2位数");
int shi=a/10%10;
int ge=a/1%10;
System.out.println("十位数是"+shi);
System.out.println("个位数是"+ge);
}
else{
System.out.println("该数是一个1位数");
int ge=a/1%10;
System.out.println("个位数是"+ge);
}
}
}
}
编写一个程序,计算邮局汇款的汇费。
如果汇款金额小于100元,汇费为一元,
如果金额在100元与5000元之间,按1%收取汇费,
如果金额大于5000元,汇费为50元。汇款金额由命令行输入
@Test
public void myTest7(){
Scanner sc=new Scanner(System.in);
double m=sc.nextInt();
double h;
if(m<100)
{
h=1;
}
else
{
if(m<=5000)
{
h=m*0.01;
}
else
{
h=50;
}
}
System.out.println("汇款费为"+h);
}
循环
while 重点
package javaseday02;
import java.util.Scanner;
import org.junit.Test;
/**
* 循环 while 重点 do...while 了解 for 重点
*
* @author Administrator
*
*/
public class WhileTest {
@Test
public void myTest01() {
boolean flag = true;
while (flag) {// while(条件)条件为真时执行的语句块
System.out.println("请输入学生成绩,输入-1时表示结束");
Scanner sc = new Scanner(System.in);
int score = sc.nextInt();
if (score == -1)
flag = false;
else
System.out.println("您输入的成绩为" + score);
}
System.out.println("成绩输入完毕");
}
do…while 了解
@Test
public void myTest02() {
// 用do while 1到100之间能被3整除的整数的和
int i = 1;
int sum = 0;
while (i <= 100) {
System.out.println("当前循环到的数" + i);
if (i % 3 == 0)
sum += i;// sum=sum+i
i++;// i=i+1;
}
System.out.println(sum);
// 1-100之间的数%3==0
// 3 +=3
// 各个位数上的和能被3整除
}
@Test
public void myTest03() {
// 1到100之间能被3整除的整数的和
int i = 1;
int sum = 0;
do {
System.out.println("当前循环到的数" + i);
if (i % 3 == 0)
sum += i;// sum=sum+i
i++;// i=i+1;
} while (i <= 100);
System.out.println(sum);
// 1-100之间的数%3==0
// 3 +=3
// 各个位数上的和能被3整除
}
for 循环 重点
@Test
public void myTest04() {
/*
* int i=1; 初始一个循环变量 while(i<=100)判断条件是否满足
* System.out.println("当前循环到的数"+i); i++;循环变量变化
*/
// for循环改造
for (int i = 1; i <= 100; i++) {
System.out.println(i);
}
}
用for循环改写送1到100的所有奇数相加的和
@Test
public void myTest05() {
int sum = 0;
for (int i = 1; i <= 100; i++) {
if (i % 2 == 1)
sum += i;
}
System.out.println(sum);
}
用for循环改写送1到100的所有偶数相加的和
@Test
public void myTest06() {
int sum = 0;
for (int i = 1; i <= 100; i++) {
if (i % 2 == 0)
sum += i;
}
System.out.println(sum);
}
假设某员工今年的年薪是30000元,年薪的年增长率6%。 编写一个Java应用程序计算该员工10年后的年薪,并统计未来10年(从今年算起)总收入。
@Test
public void myTest07() {
double sal = 30000, sum = sal;
for (int i = 2; i <= 10; i++) {
sal = sal * 1.06;
System.out.println(i + "年后的工资" + sal);
sum = sum + sal;
}
System.out.println("10年后的年薪" + sal);
System.out.println("未来10年总工资" + sum);
}
猴子第一天摘下若干个桃子, 当即吃了一半,还不瘾,又多吃了一个, 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。
以后每天早上都吃了前一天剩下的一半零一个。 到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
@Test
public void myTest08() {
int sum = 1;
for (int i = 9; i >= 1; i--) {
sum = (sum + 1) * 2;
System.out.println("第" + i + "天剩的桃子数" + sum);
}
System.out.println("第一天共摘了" + sum + "个桃子");
}
编写一个程序,求整数n的阶乘,例如5的阶乘是12345。
@Test
public void myTest09() {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int sum = 1;
for (int i = 1; i <= n; i++) {
sum = sum * i;
}
System.out.println(sum);
}
作业
package javaseday02;
import java.util.Scanner;
import org.junit.Test;
public class HomeWork {
输入一个数字,判断是一个奇数还是偶数。
@Test
public void myTest01() {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
System.out.println("输入数字:" + n);
if (n % 2 == 1) {
System.out.println("数字为奇数");
} else {
System.out.println("数字为偶数");
}
}
判断一个数字是否能被5和6同时整除(打印能被5和6整除),
或只能被5整除(打印能被5整除),或只能被6整除,
(打印能被6整除),不能被5或6整除,(打印不能被5或6整除
@Test
public void myTest02() {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
System.out.println("输入数字:" + n);
if (n % 5 == 0) {
if (n % 6 == 0) {
System.out.println("数字能被5和6同时整除");
} else {
System.out.println("数字只能被5整除");
}
} else {
if (n % 6 == 0) {
System.out.println("数字只能被6整除");
} else {
System.out.println("数字不能被5或6整除");
}
}
}
输入三个整数x,y,z,请把这三个数由小到大输出.
@Test
public void myTest03() {
Scanner sc = new Scanner(System.in);
int x = sc.nextInt();
int y = sc.nextInt();
int z = sc.nextInt();
System.out.println("输入数字 x:" + x);
System.out.println("输入数字 y:" + y);
System.out.println("输入数字 z:" + z);
int s;
if (x > y) {
s = x;
x = y;
y = s;
}
if (x > z) {
s = x;
x = z;
z = s;
}
if (y > z) {
s = y;
y = z;
z = s;
}
System.out.println(x + " " + y + " " + z);
}
输出0-9之间的数,但是不包括5。
@Test
public void myTest04() {
for (int i = 0; i < 10; i++) {
if (i != 5)
System.out.println(i);
}
}
编写一个程序,求整数n的阶乘,例如5的阶乘是12345。
@Test
public void myTest05() {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int sum = 1;
for (int i = 1; i <= n; i++) {
sum = sum * i;
System.out.print(i);
if (i != n)
System.out.print("*");
}
System.out.println("=" + sum);
}
由命令行输入一个4位整数,求将该数反转以后的数,如原数为1234,反转后的数位4321
@Test
public void myTest06() {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
System.out.println("输入4位整数:"+n);
int a1,a2,a3,a4;
a1=n/1000%10;
a2=n/100%10;
a3=n/10%10;
a4=n/1%10;
n=a4*1000+a3*100+a2*10+a1;
System.out.println("反转后的数为:"+n);
}
}