一.回顾
1.包的命名:
com.公司名.项目名
2.常量:
常量只读不可写。
3.逻辑:
&不支持短路。
4.位运算符:
& 位与
| 位或
^ 相异为1
二.Math(进行数学运算)
1.数学运算
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入第一个数");
//double a = scanner.nextDouble();
double a = Double.parseDouble(scanner.nextLine());
System.out.print("请输入第二个数");
//double b = scanner.nextDouble();
double b = Double.parseDouble(scanner.nextLine());
System.out.print("请选择运算符");
String opt = scanner.nextLine();
double result = 0.0;
switch (opt){
case "+":
result = a + b;
break;
case "-":
result = a - b;
break;
case "*":
result = a * b;
break;
case "/":
result = a / b;
break;
case "pow":
result = Math.pow(a,b);
break;
case "min":
result = Math.min(a,b);
break;
case "max":
result = Math.max(a,b);
break;
default:
System.out.println("项目升级中……");
}
System.out.println(a + opt);
}
}
2.随机数
double random = Math.random();
System.out.println(random);
另:random(0~1)
Random ran = new Random();
int a = ran.nextInt(9);//(0,8]
System.out.println(a);
3.对小数的处理
Math.floor();
Math.ceil();
Math.round();
public class Main {
public static void main(String[] args) {
double a = 3.6415;
System.out.println("Math.floor:" + Math.floor(a));//向上最近的整数
System.out.println("Math.ceil:" + Math.ceil(a));//向下最近的整数
System.out.println("Math.round:" + Math.round(a));//Math.floor(a+0.5)
}
}
double random = Math.random();
random *=10;//0~9
System.out.println(Math.ceil(random));
三.Debug(如何跟踪代码是否出现问题)
1.断点设置
2.Debug模式
3.预测值
4.调试
四.程序结构
1.顺序
2.分支
3.循环结构
(1)结构
·{ }---作用域
·while
int count = 0;
while(true){
if(count==3){
break;
}
System.out.println("*");
count+=1;
}
int count = 0;
while(count++<3){
System.out.println("*");
}
1~10相加
public class Main {
public static void main(String[] args) {
int sum = 0;
int count = 0;
while (count++<10){
sum += count;
}
System.out.println("sum="+sum);
}
}
while……do
先执行后判断
do……while
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String name = null;
String password = null;
do{
System.out.print("请输入用户名:");
name = scanner.nextLine();
System.out.print("请输入密码:");
password = scanner.nextLine();
}while (!("admin".equals(name) && "123".equals(password)));//条件成立进入循环
}
}
·for
for(;条件;){
}
public class Main {
public static void main(String[] args) {
for (int i = 0;i <= 100;i+=2){
System.out.println(i);
}
int j = 0;
for (;j <= 100;j++){
}
for (int t = 0;t <= 100;){
t++;
}
for (;;){
}
}
}
(2)三个关键字
break;continue;return
·break跳出当前循环
·continue跳过当前这个值
·return存储值,将方法返回
五.循环迭代法
1.求和
1~100相加
public class Main {
public static void main(String[] args) {
int sum = 0;
int count = 0;
/*for (int count=0;count<=100;count++){
sum+=count;
}
System.out.println(sum);*/
/* while (count++ < 100){
sum+=count;
}
System.out.println(sum);*/
do {
sum+=count;
}while (count++ < 100);
System.out.println(sum);
}
}
2.阶乘
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个整数n:");
int n = Integer.parseInt(scanner.nextLine());
int sum = 1;
for(int i=1;i<=n;i++){
sum*=i;
}
System.out.println(sum);
}
}
3.计算能被3,5整除的100以内的整数和
public class Main {
public static void main(String[] args) {
int sum = 0;
for(int i=1;i<=100;i++){
if(i % 3 == 0 || i % 5 == 0){
sum += i;
}
}
System.out.println(sum);
}
}
4.1!+2!+……+n!
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个整数:");
int j = Integer.parseInt(scanner.nextLine());
int add = 0;
for (int n = 1; n <= j; n++) {
int sum = 1;
for (int i = 1; i <= n; i++) {
sum *= i;
}
add += sum;
}
System.out.println(add);
}
}
4.今年的第几天
public class Main {
public static void main(String[] args) {
Calendar c = Calendar.getInstance();
int day = c.get(Calendar.DAY_OF_MONTH);
int month = c.get(Calendar.MONTH);//1月就是0月
int year = c.get(Calendar.YEAR);
System.out.println(year +"-"+ month +"-"+day);
int sum = 0;
for(int m = 1;m <= month;m++){
switch (m) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
sum += 31;
break;
case 4:
case 6:
case 9:
case 11:
sum += 30;
break;
case 2:
sum += 28;
break;
}
}
sum += day;
boolean f = ((year % 400 == 0)||(year % 4 == 0 && year % 100 != 0));
if(f == true){
sum += 1;
}
System.out.println("今天是第"+sum+"天");
}
}
5.斐波那契数列
public class Main {
public static void main(String[] args) {
int n=6;
long a=1L;
long b=1L;
long m=0L;
long sum=a+b;
for(int i=3;i <= n;i++){
m = a + b;
a = b;
b = m;
sum+=m;
}
System.out.println(m);
System.out.println(sum);
}
}
6.画三角形
public class Main {
public static void main(String[] args) {
for (int n=1;n<=5;n++){
for(int i=1;i<=n;i++){
System.out.print("*");
}
System.out.println();
}
}
}