Java核心技术卷一基础知识第10版demo实例

第三章 JAVA的基本程序设计结构

3.7输入与输出

3.7.1读取输入

package 第一个JAVA项目;

import java.awt.desktop.SystemSleepEvent;
import java.util.Scanner;

public class Demo案例 {
	public static void main(String[] args) {
		Scanner inScanner=new Scanner(System.in);
		String MyName="Tom";//自己的名字
		//日常问候案例
		System.out.println("Hello ,My name is "+MyName);
		System.out.println("What is your name?");
		String nameString=inScanner.nextLine();//对方名字
		System.out.println(nameString+" Nice to meet you!");
		System.out.println("How old are you?");
		int old=inScanner.nextInt();
		System.out.println("This year you are "+old);
	}
}

在这里插入图片描述

3.8控制流程

3.8.3循环

package 第一个JAVA项目;
import java.util.Arrays;
import java.util.Scanner;
import java.math.*;
public class MyFirstJavaProject {
	public static void main(String[] args) {
		//计算需要多长时间才能够存储一定数量的退休金,假定每年存
		//入相同数量的金额,而且利率是固定的。
		//输入相关信息
		Scanner inScanner=new Scanner(System.in);
		System.out.println("Hou munch money do you want to save?");
		Double sumMoney=inScanner.nextDouble();//输入需要存到的总钱数
		System.out.println("How munch money can you save in a year?");
		Double yearMoney=inScanner.nextDouble();//每年可以存的钱
		System.out.println("Please tell me what is the rate?(%)");
		Double rateDouble=inScanner.nextDouble();//输入增长率
		Double nowMoney=0.0;//当前总钱数
		int years=0;//存储需要的年数
		Double tempMoney;//每年产生的利润
		while(nowMoney<sumMoney) {
			nowMoney+=yearMoney;
			tempMoney=nowMoney*rateDouble/100;
			nowMoney+=tempMoney;
			years++;
		}
		System.out.println("About after "+years+" yeras ,you can achieve you goal.Go for it!");
	}
}

3.10数组

3.10.6多维数组

package 第一个JAVA项目;
import java.util.Arrays;
import java.util.Scanner;
import java.math.*;
public class MyFirstJavaProject {
	public static void main(String[] args) {
		//计算本金为10000时,利率分别为10%,11%,12%,13%,14%,15%
		//5年间总钱数分别为多少
		final int ROW=6;//二维数组的行数,第一行存储本金。第2-6行存储每年的钱数
		final int COL=6;//二维数组的列数,代表利率分别为10%,11%,12%,13%,14%,15%的钱数
		final int rateNum=6;//一维数组的元素个数,代表利率个数
		double[] rates=new double[rateNum];
		for(int i=0;i<rateNum;++i) {
			rates[i]=(10+i)/100.0;//为一维数组初始化10%,11%,12%,13%,14%,15%
		}
		double[][] money=new double [ROW][COL];
		for(int i=0;i<money[0].length;++i) {
			money[0][i]=10000;
		}
		for(int i=1;i<money.length;++i) {
			for(int j=0;j<money[0].length;++j) {
				double temp=money[i-1][j]*rates[j];
				money[i][j]=temp+money[i-1][j];
			}
		}
		for(double i:rates) {
			System.out.printf("%9.1f%% ",i*100.0);
		}
		System.out.println();
		for(double[] i:money) {
			for(double j:i) {
				System.out.printf("%10.1f ",j);
			}
			System.out.println();
		}
	}
}

在这里插入图片描述

第四章 对象与类

4.2使用预定义类

	package 第一个JAVA项目;
	import java.util.Arrays;
	import java.util.Scanner;
	import java.math.*;
	import java.time.DayOfWeek;
	import java.time.LocalDate;
	public class MyFirstJavaProject {
		public static void main(String[] args) {
			//日历
			LocalDate date=LocalDate.now();//获取当前时间
			int year=date.getYear();//获取年份
			int month=date.getMonthValue();//获取月份
			int today=date.getDayOfMonth();//获取月份中的日期
			System.out.println(year+"年"+month+"月日历");
			date=date.minusDays(today-1);//将时间调为当月1号
			DayOfWeek weekday=date.getDayOfWeek();//获取date日期是当月的星期几
			int value=weekday.getValue();//1-MOnday,...,7-Sunday//将对应的星期几转化为数值
			System.out.println("Mon Tue Wed Thu Fri Sat Sun");
			for(int i=1;i<value;++i)
				System.out.print("    ");//打印空格到当月第一号对应的星期几,有四个空格
			while(date.getMonthValue()==month) {
				System.out.printf("%3d",date.getDayOfMonth());
				if(date.getDayOfMonth()==today)
					System.out.print("*");
				else System.out.print(" ");
				date=date.plusDays(1);//将日期加1
				if(date.getDayOfWeek().getValue()==1) System.out.println();//遇到周一换行	
			}
			if(date.getDayOfWeek().getValue()!=1) System.out.println();
		}
	}

在这里插入图片描述
在这里插入图片描述

4.4静态域与静态方法

//类的简单应用
//主程序
package test_demo_test;
import test_demo_test.Employee;
public class HelloWorld {
    public  static void main(String args[]){
        Employee[] staffs=new Employee[4];//创建三个雇员
        staffs[0]= new Employee("唐僧",3000);
        staffs[1]= new Employee("孙悟空",2000);
        staffs[2]= new Employee("猪悟能",1000);
        staffs[3]= new Employee("沙悟净",500);
        for(Employee e:staffs){
            e.setId();
            System.out.println("name = "+e.getName()+" Id = "+e.getId()+" salary = "+e.getSalary());
        }
        System.out.println("下一个标识码是"+Employee.getnextId());
    }
}
//Employee类
package test_demo_test;

public class Employee {
    //region 实例域
    private static int nextId;//静态域,标识码
    private String name;//员工姓名
    private int id;//员工编号
    private double salary;//员工薪水

    //endregion
    //region 构造器
    public Employee(String name, double salary) {
        this.name = name;
        this.salary = salary;
    }

    //endregion
    //region 访问器
    public String getName() {
        return this.name;
    }

    public int getId() {
        return this.id;
    }

    public double getSalary() {
        return this.salary;
    }

    public static int getnextId() {
        return nextId;
    }

    //endregion
    //region 更改器
    public  void setId(){
        this.id=nextId;
        nextId++;
    }
    //endregion
    public static int getNextId() {//静态方法
        return nextId;
    }
}

在这里插入图片描述

4.6对象构造

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

撑一把纸伞.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值