Randon基本概述及使用
package Demo;
import java.util.Random;
public class Demo03 {
public static void main(String[] args) {
Random random = new Random();
int num = random.nextInt();
System.out.println("随机数是:" + num);
}
}
====================================================
//Randon生成指定范围的随机数
package Demo;
import java.util.Random;
public class Demo03 {
public static void main(String[] args) {
Random random = new Random();
for(int i = 0; i < 10; i++){
int num =random.nextInt(10);// 0~9
System.out.println(num);
}
}
}
package Demo;
import java.util.Random;
import java.util.Scanner;
public class Demo03 {
public static void main(String[] args) {
Random r = new Random();
int randomNum = r.nextInt(100)+1;
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的数字");
int guessNum = sc.nextInt();
if(guessNum > randomNum){
System.out.println("太大了,请重试");
}else if(guessNum < randomNum){
System.out.println("太小了,请重试");
}else{
System.out.println("恭喜你,答对啦!");
}
}
}
ArrayList集合概述及使用
数组的长度不可以发生改变。
但是Arraylist集合的长度是可以随意变化的。
对于Arraylist来说,有一个尖括号<E>代表泛型。
泛型:也就是装在集合当中的所有元素,全都是统一的什么类型。
注意:泛型只能是引用类型,不能是基本类型。
package Demo;
import java.util.ArrayList;
public class Demo0 {
public static void main(String[] args) {
ArrayList<String> arrayList = new ArrayList<>();
System.out.println(arrayList);//[]
arrayList.add("彭于晏");
arrayList.add("张艺兴");
arrayList.add("张子枫");
System.out.println(arrayList);//[彭于晏, 张艺兴, 张子枫]
}
}
Arraylist当中的常用方法和遍历集合
public boolean add(Ee)向集合当中添加元素,参数的类型和泛型一致。返回值代表添加是否成功。
备注,对于ArrayList集合来说,add添加动作一定是成功的,所以返回值可用可不用。
但是对于其他集合〔今后学习)来说, add添加动作不—定成功。
public E get(int index)。从集合当中获取元素,参数是索引编号,返回值就是对应位置的元素。
bublic E remove(int index)从集合当中删除元素,参数是索引编号,返回值就是被删除掉的元素。
public int size()。获取集合的尺寸长度,返回值是集合中包含的元素个数。
package Demo;
import java.util.ArrayList;
public class Demo0 {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
System.out.println(list);//[]
//从集合当中添加元素
boolean success =list.add("黄磊");
System.out.println("添加的元素是否成功:"+success);//添加的元素是否成功:true
list.add("彭于晏");
list.add("张艺兴");
list.add("张子枫");
System.out.println(list);//[黄磊, 彭于晏, 张艺兴, 张子枫]
//从集合当中获取元素,参数是索引编号,返回值就是对应位置的元素。
String name = list.get(3);
System.out.println("获取的元素是:"+name);//获取的元素是:张子枫
System.out.println(list);//[黄磊, 彭于晏, 张艺兴, 张子枫]
//从集合当中删除元素,参数是索引编号,返回值就是对应位置的元素。
String whoRemove = list.remove(1);
System.out.println("删除的元素是:"+whoRemove);//删除的元素是:彭于晏
System.out.println(list);//[黄磊, 张艺兴, 张子枫]
//获取集合的尺寸长度,返回值是集合中包含的元素个数。
int size = list.size();
System.out.println("集合的长度是:"+size);//集合的长度是:3
}
======================================================================================
package Demo;
import java.util.ArrayList;
public class Demo04 {
public static void main(String[] args){
ArrayList<String> list = new ArrayList<>();
list.add("向往的生活");
list.add("何老师");
list.add("彭昱畅");
//遍历集合
for(int i = 0;i <list.size() ; i ++){
System.out.println(list.get(i));
}
}
}
ArrayList集合存储基本数据类型
如果希望向集合ArrayList当中存储基本类型数据,必须使用基本类型对应的“包装类”。
基本类型 | 包装类(引用类型,包装类都位于java .Lang包下) |
---|---|
byte | Byte |
short | Short |
int | Integer 【特殊】 |
long | Long |
fLoat | FLoat |
double | Double |
char | Character 【特殊】 |
booLean | BooLean |
从JDK 1.5+开始,支持自动装箱、自动拆箱。
自动装箱:基本类型-->包装类型
自动拆箱,包装类型-->基本类型
public class Demo04 {
public static void main(String[] args){
ArrayList<Integer> lista = new ArrayList<>();
lista.add(100);
lista.add(200);
int num=lista.get(1);
System.out.println("第一号元素:"+num);
}
}
//题目:
//生成6个1~33之间的随机整数。添加到集合,并遍历集合。
public class Demo04 {
public static void main(String[] args){
ArrayList<Integer> lista = new ArrayList<>();
Random random = new Random();
for(int i = 0;i < 6 ; i++){
int num = random.nextInt(33)+1;
lista.add(num);
}
//遍历集合
for(int i = 0; i < lista.size();i++){
System.out.println(lista.get(i));
}
}
}
//题目:
//定叉以指定格式打印集合的方法(ArrayList类型作为参数),使用{}扩起集合,使用@分隔每个元素。
// 格式参照{元素@元素@元素}。
public class Demo04 {
public static void main(String[] args){
ArrayList<String> list = new ArrayList<>();
list.add("张艺兴");
list.add("张子枫");
list.add("黄磊");
list.add("何炅");
System.out.println(list);//[张艺兴, 张子枫, 黄磊, 何炅]
lista(list);
}
public static void lista(ArrayList<String> list){
System.out.print("{");
for(int i = 0; i <list.size();i++){
String name = list.get(i);
if(i == list.size() -1){
System.out.println(name +"}");
}else{
System.out.print(name +"@");
}
}
}
}
//题目:
//用一个大集合存入20个随机数字,然后筛选其中的偶数元素,放到小集合当中。要求使用自定义的方法来实现筛选。
//分析:
//1-需要创建一个大集合,用来存储int数字:<Integer>
//2.随机数字就用Random nextInt
//3.循环20次,把随机数字放入大集合:for循环、 add方法
//4。定义一个方法,用来进行筛选。
//筛选:根据大集合,筛选符合要求的元素,得到小集合。
//三要素
//返回值类型,Arraylist小集合(里面元素个数不确定)
//方法名称: getSmaLLList
//参数列表:Arraylist大集合(装着20个随机数字)
//5。判断(if)是偶数;num % 2== 0
//6。如果是偶教,就放到小集合当中,否则不放。
public class Demo05 {
public static void main(String[] args){
ArrayList<Integer> bigList = new ArrayList<>();
Random r = new Random();
for(int i = 0; i < 20; i++) {
int num = r.nextInt(100) + 1;//1~100
bigList.add(num);
}
ArrayList<Integer> smallList = getSmalllist(bigList);
System.out.println("偶数的个数是:"+smallList.size());
for(int i = 0;i <smallList.size();i++){
System.out.println(smallList.get(i));
}
}
//这个方法接受大集合参数,返回小集合参数
public static ArrayList<Integer> getSmalllist(ArrayList<Integer> bigList) {
//创建一个小集合,用来装偶数结果
ArrayList<Integer> smallList = new ArrayList<>();
for (int i = 0; i < bigList.size(); i++) {
int num = bigList.get(i);
if (num % 2 == 0) {
smallList.add(num);
}
}
return smallList;
}
}
字符串
字符串的特点:
1。字符串的内容永不可变。【重点】
2正是因为字符串不可改变,所以字符串是可以共享使用的。
3,字符串效果上相当于是char[ ]字符数组,但是底层原理是byte[ ]字节数组。
创建字符串的常见3+1种方式。
三种构造方法:
public String( ):创建一个空白字符串,不含有任何内容。
public string(char[ ] array)。根据字符数组的内容,来创建对应的字符串。
public String(byte[ ] array)。根据字节数组的内容,来创建对应的字符串。
一种直接创建:
String str = “HeLLo";//右边直接用双引号
注意: 直接写上双引号,就是字符串对象。
public class Demo06 {
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[] bytesArray = {97,98,99};
String str3 = new String(bytesArray);
System.out.println("第三个字符串"+str3);
//直接创建
String str4 = "Hello";
System.out.println("第四个字符串:"+str4);
}
}
字符串常量池
程序当中直接写上的双引号字符串,就在字符串常量池中。
对于基本类型来说,==是进行数值的比较。
对于引用类型来说,==是进行地址值的比较
public class Demo06 {
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
}
}