package demo01;
import java.util.Scanner;
public class Demo01ScannerMax {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个数字:");
int a = sc.nextInt();
System.out.println("请输入第个二数字:");
int b = sc.nextInt();
System.out.println("请输入第三个数字:");
int c = sc.nextInt();
int temp = a > b ? a : b;
int max = c > temp ? c : temp;
System.out.println("最大的数字为:" + max);
}
}
引用类型的基本使用步骤
1.导包 import 包路径.类名称
如果使用的类和当前类位于同一个包下,可以省略导包语句不写
只有java.lang包下的内容不需要导包,其他需要import语句
2.创建
类名称 对象名 = new 类名称();
3.使用
对象名.成员方法名()
Scanner类:键盘输入
导包:import java.util.Scanner;
创建:Scanner sc = new Scanner(System.in);
使用:获取键盘输入的一个int数字:int num = sc.nextInt();
获取键盘输入的一个字符串:String str = sc.next();
package demo01;
import java.util.Scanner;
public class Demo01Scanner {
public static void main(String[] args) {
//System.in代表从键盘输入
Scanner sc = new Scanner(System.in);
String str = sc.next();
System.out.println("输入的字符是" + str);
}
}
练习
1.求出两数之和
package demo01;
import java.util.Scanner;
public class Dame01ScannerSum {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
int sum = a + b;
System.out.println("a+b之和为" + sum);
}
}
2.求出最大值
package demo01;
import java.util.Scanner;
public class Demo01ScannerMax {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个数字:");
int a = sc.nextInt();
System.out.println("请输入第个二数字:");
int b = sc.nextInt();
System.out.println("请输入第三个数字:");
int c = sc.nextInt();
int temp = a > b ? a : b;
int max = c > temp ? c : temp;
System.out.println("最大的数字为:" + max);
}
}
匿名对象
只有右边的对象,没有左边的名字和赋值运算符
new 类名称(); //类名称 对象名 = new 类名称;S
成员变量的使用 new Person().name = "赵又廷";
注意事项:匿名对象只能使用唯一的一次,下次再用不得不再创建一个新的变量
使用建议:如果确定有一个对象只是用唯一的一次,就可以使用匿名对象
Random类
用来生成随机数字,使用起来也是三个步骤:
1.导包
import java.util.Random;
2.创建
Random r = new Random(); //小括号留空即可
3.使用
获取一个随机的int数字(范围是int的所有范围):int num = r.nextInt()
获得一个随机int数字(参数代表了范围,左闭右开区间):int num = r.nextInt(3);
实际上代表的范围是:【0,3),也就是0一直到2
package demo01;
import java.util.Random;
public class Demo01Random {
public static void main(String[] args) {
Random r = new Random();
int p = r.nextInt();
System.out.println("随机数字为" + p);
}
}
练习:
1.
package demo01;
import java.util.Random;
public class Demo01Random {
public static void main(String[] args) {
Random r = new Random();
for (int i = 0; i < 100; i++) {
int p = r.nextInt(10) + 1; //本来范围是[0,n),+1后的范围是[1,n+1)
System.out.println("随机数字为" + p);
}
}
}
2.
package demo01;
import java.util.Random;
import java.util.Scanner;
public class Demo01RandomNum {
public static void main(String[] args) {
Random r = new Random();
int num = r.nextInt(100) + 1;
Scanner sc = new Scanner(System.in);
while(true) {
System.out.println("请输入你猜测的数字:");
int guessnum = sc.nextInt();
if (num > guessnum) {
System.out.println("猜小了,请重试");
} else if (num < guessnum) {
System.out.println("猜大了,请重试");
} else {
System.out.println("猜测正确");
break;
}
}
System.out.println("游戏结束了!");
}
}
String类(代表字符串)
java程序中的所有的双引号字符串,都是String类的对象
String类的构造方法
String对象的特点
字符串的比较
练习
1.遍历字符串
package testString;
import java.util.Scanner;
public class Test02 {
public static void main(String[] args) {
System.out.println("请输入一个字符串:");
Scanner sc = new Scanner(System.in);
String line = sc.nextLine();
for(int i = 0;i < line.length();i++) {
System.out.println(line.charAt(i));
}
}
}
2.输入密码
package javatest;
import java.util.Scanner;
public class Test01 {
public static void main(String[] args) {
String username = "itliueux";
String password = "123456";
for (int i = 0;i < 3;i++) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入账号");
String name = sc.nextLine();
System.out.println("请输入密码:");
String paw = sc.nextLine();
if (name.equals(username) && paw.equals(password)) {
System.out.println("恭喜你!登陆成功!");
break;
} else {
if(2 - i == 0) {
System.out.println("您的账户已被锁定,请与管理员联系");
break;
}
System.out.println("登陆失败,你还有" + (2 - i) + "次机会");
}
}
}
}
StringBuilder类 java.lang(不需要导包)
作用:提高字符串的操作效率,如拼接,修改等
构造方法
sss
package testString; public class StringBuild { public static void main(String[] args) { StringBuilder sb = new StringBuilder(); System.out.println("s:"+sb); System.out.println(sb.length()); StringBuilder sb2 = new StringBuilder("hello"); System.out.println("s:"+sb2); System.out.println(sb2.length()); } }
StringBuilder的添加和反转方法
package testString;
public class StringBuild {
public static void main(String[] args) {
StringBuilder sb = new StringBuilder();
//public StringBuilder append(任何类型)
//添加对象并返回对象本身
// StringBuilder sb2 = sb.append("hello");
// System.out.println("sb:"+sb); //sb:hello
// System.out.println("sb2:"+sb2); //sb2:hello
// System.out.println(sb == sb2); //true
// sb.append("hello");
// sb.append("world");
// sb.append("123");
//链式编程
sb.append("hello").append("world").append("123");
System.out.println(sb);//helloworld123
//public StringBuilder reserve()
//返回相反的字符序列
sb.reverse();
System.out.println(sb);//321dlrowolleh
}
}
StringBuilder和String相互转化
package com.iteima_02;
public class StringBuilderDemo02 {
public ststic void main(String[] args) {
StringBuilder sb = new StringBuilder();
sb.append("hello");
String s = sb.toString();
System.out.println(s);
}
}
public class StringBuilderDemo02{
public static void main(String[] args) {
String s = "Hello";
StringBuilder sb = new StringBuilder(s);
System.out.printfln(sb);
}
}
Object类
Object类的常用方法
toString存在的意义
父类toString()方法存在的意义就是为了被子类重写,以便返回对象的内容信息,而不是地址信息!!
总结:
Object类中equals方法的使用
equals存在的意义
父类equals方法存在的意义就是为了被子类重写,以便子类自己来定制比较规则
Objects类
Objects类与Object还是继承关系
Math类
包含执行基本数字运算的方法,Math类没有提供公开的构造器
System类
BigDecimal类
作用:用于解决浮点型运算精度失真的问题
BigDecimal转为double
注意事项:BigDecimal是一定要精度运算的
此例无法进行精度运算,会报错
修改后保留两位小数,并且四舍五入
BigDecine常用API