java第一周总结

java基础知识巩固

Java所有基本数据类型都是关键词
Long、float等正在定义数值时末需要加上L或者F

整型
•Byte
•Short
•Int
•Long

拓展
1byte(字节)=8bits(位)
1024bits=1kb
1024kb=1mb

浮点型
•Folat(单精度)
•Double(双精度)
字符型
•Char
布尔型
•Boolean

基本类型转化问题
基本原则:小转大 直接转 ,大转小,强转
例:byte b1 = (byte) 128//需要强转;

运算符

比较运算符

符号说明
>大于
==等于
<小于
>=大于等于
<=小于等于
!=不等于

注意事项:不等于和等于既可以用作于基本数据类型之间的比较,还可以用做引用数据类型之间的比较

布尔逻辑运算符

符号说明
&&短路与
&逻辑与
^异或

逻辑与和短路与的用法:
&&(短路与):在项目运行中,如果左侧表达式不成立,则不运行右侧表达式
& (逻辑与):无论左侧表达式是否成立,都不会影响右侧表达式的执行

算数运算符

符号说明
+两数之和
-两数之差
*两数之积
/两数之商
%一个数对另一个进行取余

引用数据类型

java的引用三大数据类型

1.类的引用
2.数值的引用
3.接口的引用

方法的作用
1.减少代码的编写,提高代码复用率
2.便于统一管路
3.使得代码结构更加清晰

遇到的第一个异常
空指针异常
方法反复调用导致堆内存溢出错误

随机数的获取

	//随机获取一个数(0.0-0.99)
	double d = Math.random();
	//获取某个区间的值(例:[10,45])
	int r1 = (int) (Math.random*(45 - 10 + 1)) + 10;

条件分支

  • if…()else
  • switch
	//if...else的三种结构
	if(i > 1){
		//结果
	}
	
	if(i > 1){
		//结果一
	}else{
		//结果儿
	}
	
	if(i > 10){
		//结果一
	}else if( i <  20){
		//结果二
	}else if(i < 30{
		//结果三
	}else{
		......
	}
	


注意事项:

在switch中,switch可筛选的值只能是String(1.7+)、int、char、byte、Enum等数据类型

//例  : 对学生成绩的筛选
		System.out.println(Math.random());
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入你的成绩");
		int score = sc.nextInt();
		switch(score / 10) {
		case 10:
		case 9 :
			System.out.println("你的成绩是A");
			break;
		case 8:
			System.out.println("你的成绩是B");
			break;
		case 7:
			System.out.println("你的成绩是C");
			break;
		case 6:
			System.out.println("你的成绩是D");
			break;
			default:
				System.out.println("你的成绩是E");
		}
		

条件循环

  • for循环
  • while循环
  • do…循环
  • foreach
  • 递归

for循环案例

	//打印1-10
	for (int i = 1; i <= 10; i++) {
				System.out.print(i);
	//打印99乘法表
	for(int j = 1; j <= 9; j++){
		for(int x = 1; x <= j; x++){
			System.out.print(j+"*"+x+"="+(j*x)+" ");
		}
		System.out.println();
	}
			}
		//打印平行四边形
		//外层打印行
		for (int i = 1; i <= 6; i++) {
			//空格
			for (int j = 1; j <= 6 -i; j++) {
				System.out.print(" ");
			}
			//内层打印列
			for (int  x = 1; x <= 6 ; x++) {
				System.out.print("*");
			}
			System.out.println();
		}

初始数组

数组的初始化

		//数组的初始化
		int[] arr;
		//数组的静态初始化
		int[] arr1 = {123456};
		//数组的动态初始化
		int[] arr 2 = new int[3];
		//对数组元素的取出
		System.out.println(arr[1]);
		//对数组中所有元素进行依次取出
		for(int i = 0; i < arr.length;i++){
			System.out.print(arr[i]+" ");
		}

项目说明:
对DNF装备进行强化,给出危险提示和成功率,强化后给出显示的装备升级或者失败降级,成功后可选择继续强化,大于或等于10级失败则装备报废

package com.day03.mod;

import java.util.Scanner;

/**
 * 要求输入装备的原始等级, 输入1执行强化,根据原始等级以及强化的成功率,显示装备的强化结果
 * 
 * @author Administrator
 */
public class Dnf {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("您现在多少级了?(1-16)");
		// 等级
		int grade = sc.nextInt();
		// 成功率
		double d = 0.0;
		while (true) {
			if (grade < 3) {
				d = 1;
			} else if (grade < 4) {
				d = 0.95;
			} else if (grade < 5) {
				d = 0.90;
			} else if (grade < 6) {
				d = 0.80;
			} else if (grade < 7) {
				d = 0.75;
			} else if (grade < 8) {
				d = 0.621;
			} else if (grade < 9) {
				d = 0.537;
			} else if (grade < 10) {
				d = 0.414;
			} else if (grade < 11) {
				d = 0.339;
			} else if (grade < 12) {
				d = 0.28;
			} else if (grade < 13) {
				d = 0.207;
			} else if (grade < 14) {
				d = 0.173;
			} else if (grade < 15) {
				d = 0.136;
			} else {
				d = 0.101;
			}
			System.out.println("你现在" + grade + "级,成功率为" + d + "。是否需要强化  如果需要,请按1");
			int i = sc.nextInt();
			double success_rate = Math.random();
			System.out.println("正在强化中 ,请稍后....");
			try {
				Thread.sleep(1500);
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			if (1 - success_rate < d) {
				System.out.print("强化成功 ");
				grade++;
			} else if (grade < 7) {
				System.out.print("强化失败 ");
				grade = grade - 1;
			} else if (grade < 10) {
				System.out.print("强化失败 ");
				grade = grade - 3;
			} else {
				System.out.print("强化失败 ");
				grade = 0;
			}
			System.out.println("你现在的等级是" + grade);
			System.out.println("是否继续强化\n 1.继续\n 2.退出");
			i = sc.nextInt();
			if (i == 2) {
				break;
			}
		}
		System.out.println("game over!");
	}
}

运行结果

在这里插入图片描述

银行登录
*项目说明:*在控制台输入账号和密码,密码输入错误三次,即把账号冻结,密码账户相同,即登录成功(come in)

package com.day03.mod;
import java.util.Scanner;
/**
 * @author Administrator
 */
public class Bank {
			public static void main(String[] args) {
				Scanner sc = new Scanner(System.in);
				System.out.println("Please enter your card number ");
				int id = sc.nextInt();
				System.out.println("Please input a password ");
				int pwd = sc.nextInt();
				int count = 3;
				while(true) {
					if(id !=  8963 || pwd != 3212) {
						count--;
						System.out.println("Wrong account or password, please re-enter ,You still have "+ count +" opportunities");
					}else {
						System.out.println("come in");
						break;
					}
					if(count == 0) {
						System.out.println("today is more,please next");
						break;
					}
					System.out.println("Please re-enter your account and password ");
					id = sc.nextInt();
					pwd = sc.nextInt();
				}
}
}

运行结果

在这里插入图片描述

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值