java类和对象猜数字_7天学完Java基础之3/7

API概述

什么叫做API?

API(Application Programming lnterface),应用程序编程接口。

所谓API就是值好多的类,好多的方法,JDK给我们提供了很多现成的类,我们可以直接去使用,这些类就是API

常见的几个API之Scanner类的使用

导包

Scanner类因为存在于java.lang包下,所有不需要导入就可以直接使用

创建

类名称 对象名 = new 类名称();

使用

对象名.方法名();

public class AScanner{

public static void main(String[] args){

System.out.println("请输入一个数字")

//System.in代表从键盘进行输入

Scanner sc = new Scanner(System.in);

//调用Scanner的方法,获取一个整数

int num = sc.nextInt();

System.out.println("数字"+num);

}

}

Scanner的练习题

import java.util.Scanner;

public class MaxInput {

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 max ;

if(a>b){

max = a;

}else{

max = b;

}

if(max>c){

System.out.println("最大值为"+max);

}else{

max = c;

System.out.println("最大值为"+max);

}

}

}

匿名对象

匿名对象就是只有右边的对象,没有左边的名字和赋值运算符

匿名对象的格式:

new 类名称();

匿名对象只能够使用一次,下次再用不得不再创建一个新对象

每一次new都是一个新的对象,所以只能够使用一次

public class Person{

String name;

public void showName(){

System.out.println("我叫"+name);

}

}

public class niming{

public static void main(String[] args){

Person one = new Person();

one.name =( "张飞");

one.showName();

new Person().name = "吕蒙";

new Person().showName(); //不能够打印出吕蒙,每一次new都是一个新的对象

}

}

常见的几个API之Random

public static void main(String[] args){

//创建对象

Random r = new Random();

//调用方法,随机生成无范围的一个整数

int i = r.nextInt();

System.out.println(i);

}

public static void main(String[] args){

Random r = new Random();

for(int j = 0;j<100;j++){

//随机获得一个0-9的数字,

int i = r.nextInt(10);

System.out.println(i);

}

}

练习--猜数字小游戏

思路

你要猜一个数字,必须要先把数字给确定下来,也就是在这里,第一步要使用Random类来获取一个随机数

有了随机数,就可以猜了,让用户输入随机数,就要使用到API中的Scanner类

用户一般不可能一次猜中,所以就需要反复猜,这里就要用到while循环

猜一个数字有大了,小了,猜中了,三种结果,所以这里可以使用选择结构if语句

import java.util.Random;

import java.util.Scanner;

//变量名rn是随机数的缩写,sn,是键盘录入数字的缩写

public class aGame{

public static void main(String[] args) {

Random aRandom = new Random();

//获得一个随机整数

int rn = aRandom.nextInt(101);

// System.out.println(rn);//作弊大法

Scanner aScanner = new Scanner(System.in);

System.out.println("请输入一个0-100之间的整数.....");

//用户输入的整数

boolean mark = true;

while (mark) {

int sn = aScanner.nextInt();

if (sn > rn) {

System.out.println("输入的数字大了,请往小的方向猜吧");

} else if (sn < rn) {

System.out.println("输入的数字小了,请往大的方向猜吧");

} else {

System.out.println("恭喜你,猜对啦");

mark = false;

}

}

System.out.println("游戏结束,感谢参与!!!!!!!!!!!!!!");

}

}

ArrayList集合

ArrayList记得的长度是可以改变的,

public static void main(String[] args){

//创建一个ArrayList集合,集合的名称是list,里面装的全都是String字符串类型的数据

//备注:从JDK1.7版本后,右侧的尖括号内容可以不行

ArrayList list = new ArrayList<>();

System.out.println(list);//将会打印[]里的内容,如果没有内容,输出结果为 []

//想集合当中添加数据,需要用到add方法;

list.add("赵云");

System.out.println(list);

}

ArrayList集合的常用方法和遍历

常用方法有:

public boolean add(E e);向集合当中添加元素,参数类型和泛型类型一致

public E get(int index);从集合中获取元素,参数是索引编号,

public int size(),获取集合的尺度长度,返回值是集合包含的元素个数

public E remove(int index),从集合中删除元素,参数是索引编号,返回值是被删除的元素

public static void main(String[] args) {

ArrayList list = new ArrayList<>();

//add方法的使用

list.add("贾诩");

list.add("周瑜");

list.add("郭嘉");

System.out.println(list);//[贾诩, 周瑜, 郭嘉]

//从集合中获取元素,get方法,索引从0开始

String aname = list.get(2);

System.out.println(aname);//郭嘉

//从集合中删除元素

list.remove(1);

System.out.println(list);//[贾诩, 郭嘉]

//获取集合的长度

System.out.println(list.size());//2

list.add("诸葛亮");

//集合的遍历

for(int i = 0;i

System.out.println(list.get(i));

}

}

ArrayList集合存储基本数据类型

ArrayList集合是不能够存储基本类型的,如果要存储基本类型,必须使用基本类型对应的包装类

基本类型

包装类

byte

Byte

short

Short

int

Integer

long

Long

float

Float

double

Double

char

Character

boolean

Boolean

public static void main(String[] args){

ArrayList list = new ArrayList<>();

list.add(100);

list.add(200);

System.out.println(list);//[100, 200]

//自动拆箱,包装类型变成基本类型

System.out.println(list.get(0));//100

}

从JDK 1.5开始,支持自动装箱,自动拆箱

自动装箱:基本类型 ----->包装类型

自动拆箱:包装类型 ------>基本类型

ArrayList集合的练习1

题目:生成6个1~33之间的随机整数,添加到集合,并遍历集合

我的解题思路:,

生成6个随机的整数,就要用到Random类,

把生成的整数添加到集合,就要创建一个集合,

使用集合方法add来添加都集合,所以到这里就会有aList.add(随机数),这样就把随机数给添加到集合了,重复添加可以使用for循环

接下来就是遍历了

import java.util.ArrayList;

import java.util.Random;

public class AArray {

public static void main(String[] args) {

Random aRandom = new Random();

ArrayList aList = new ArrayList<>();

for(int i=0;i < 6 ;i++){

aList.add(aRandom.nextInt(33)+1);

System.out.println(aList.get(i));

}

System.out.println(aList);

}

}

ArrayList练习二

题目:自定义四个学生对象,添加到集合,并遍历

public class Student {

private int age;

private String name;

public Student(int age, String name) {

this.age = age;

this.name = name;

}

public Student() {

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

}

import java.util.ArrayList;

public class AStudent {

public static void main(String[] args) {

Student one = new Student(25,"貂蝉");

Student two = new Student(26,"西施");

Student three = new Student(27,"王昭君");

Student four = new Student(28,"杨玉环");

ArrayList arrayS = new ArrayList<>();

arrayS.add(one);

arrayS.add(two);

arrayS.add(three);

arrayS.add(four);

for (int i=0;i

//使用get,获取对象出来

Student stu = arrayS.get(i);

//使用对象名.方法名来获取年龄和姓名,到这里就遍历结束

System.out.println("年龄"+stu.getAge()+"..."+"姓名"+stu.getName());

}

}

}

ArrayList集合练习三

题目:用一个大集合存入20个随机数字,然后筛选其中的偶数元素,放到小集合中

import java.util.ArrayList;

import java.util.Random;

public class AArray {

//题目:用一个大集合存入20个随机数字,然后筛选其中的偶数元素,放到小集合中

public static void main(String[] args) {

//大集合,存放20个随机数字

ArrayList big = new ArrayList<>();

//小集合,存偶数

ArrayList small = new ArrayList<>();

Random r = new Random();

for(int i=0;i<20;i++) {

//向大集合添加随机数,循环一次添加一个

big.add(r.nextInt(20));

}

System.out.println(big);

for(int i=0;i

int num = big.get(i);

if(num%2==0) {

//向小集合添加偶数

small.add(num);

}

}

System.out.println(small);

}

}

字符串概述和特点

字符串的特点:

字符串的内容用不可变

正是因为字符串不可以改变,所以字符串是可以共享使用的

字符串效果上相当于是char[]字符数组,但是底层原理是byte[]字节数组

字符串的构造方法和直接创建

public static void main(String[] args){

//使用空参构造

String str1 = new String();

System.out.println("第一个字符串"+str1);

//根据字符数组创建字符串

char[] charArray = {'A','B','C'};

String str2 = new String(charArray);

System.out.println("第二个字符串"+str2);

//根据字节数组创建字符串

byte[] byteArray = {97,98,99};

String str3 = new String(byteArray);

System.out.println("第三个字符串"+str3);

//直接创建

String str4 = "Hello";

System.out.println("第四个"+str4);

}

字符串的常量池

字符串常量池,程序当中直接写上的双引号字符串,就在字符串常量池当中

对于基本类型来说 ==是进行数值的比较

对于引用类型来说 ==是进行地址的比较

public static void main(String[] args){

String str1 = "abc";//地址存在常量池中

String str2 = "abc";//地址存在常量池

char[] charArray = {'a','b','c'};

String str3 = new String(charArray);//地址不再常量池中

System.out.println(str1 == str2);//true

System.out.println(str1 == str3);//false

System.out.println(str2 == str3);//false

}

字符串比较的相关方法

public static void main(String[] args){

String str1 = "hello";

String str2 = "hello";

char[] charArray = {'h','e','l','l','o'};

String str3 = new String(charArray);

//equals比较的是两个字符串的内容

System.out.println(str1.equals(str2));//true

System.out.println(str2.equals(str3));//true

System.out.println(str3.equals("hello"));//true

//忽略大小写的比较方法equalsIgnoreCase

System.out.println(str3.equalsIgnoreCase("Hello"));//true

}

字符串的获取相关方法

public static void main(String[] args){

//获取字符串的长度;

int length = "wertrghgffdvscsegh".length();

System.out.println("字符串的长度是 "+length);

//拼接字符串

String str1= "hello";

String str2 = "world";

String str3 = str1.concat(str2);

System.out.println(str3);

//获取指定索引位置的单个字符

char ch = "hello".charAt(1);

System.out.println("在1号索引位置的字符是"+ch);

//查找参数字符串在本来字符串当中出现的第一次索引位置

//如果没有返回-1

String original = "helloworld";

int i =original.indexOf("llo");

System.out.println("第一次出现的索引位置是"+i);

}

字符串的转换相关方法

public static void main(String[] args){

//把字符串转换成字符数组

char[] chars = "原乘风破万里浪".toCharArray();

for(int i=0;i

System.out.println(chars[i]);

}

//把字符串转换成字节数组

String str = "甘面壁读是十年书";

byte[] bytes = str.getBytes();

for(int i=0;i

System.out.println(bytes[i]);

}

//字符串的内容替换

String str3 = "风声雨声读书声声声入耳";

String str4 = str3.replace("声", "sheng");

System.out.println(str4);

//字符串的切割方法,返回一个string[]

String[] str5 =str3.split("声");

for(int i=0;i

System.out.println(str5[i]);

}

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值