Math类, Math类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。
方法:
Math.max();//比较两个最大值
Math.min();//比较两个最小值
Math.abs();//求绝对值;负为正,正为正
Math.sin();//返回角度的正弦值
Math.floor();//上舍入;返回最大的(最接近正无穷大) double值,该值小于等于参数,并等于某个整数。
Math.ceil();//下舍入;返回最小的(最接近负无穷大) double值,该值大于等于参数,并等于某个整数。
Math.round();//四舍五入;返回最接近参数的int值
- package Math.Demo02;
-
- public class MathDemo01 {
-
- public static void main(String[] args) {
- //Math类, Math类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。
-
- double pi = Math.PI;
- System.out.println(pi);
-
- System.out.println(Math.max(100, 200));//比较两个最大值
- System.out.println(Math.min(50, 100));//比较两个最小值
- System.out.println(Math.abs(-20));//求绝对值;负为正,正为正
- System.out.println(Math.sin(0.5));//返回角度的正弦值
-
- System.out.println(Math.floor(9.8));//上舍入;返回最大的(最接近正无穷大) double值,该值小于等于参数,并等于某个整数。
- System.out.println(Math.ceil(9.1));//下舍入;返回最小的(最接近负无穷大) double值,该值大于等于参数,并等于某个整数。
- System.out.println(Math.round(9.8));//四舍五入;返回最接近参数的int值
-
- //随机数方法:Math.random( ):随机返回一个介于0.0(包括)~1.0(不包括)之间的double类型的数据
- double num1 = Math.random();
- System.out.println(num1);
- /*
- *随机返回一个[num1,num2)之间的int类型的整数(num2>num1)
- * int num = (int)(Math.random()*(num2-num1)+num1);
- */
- /*
- *枚举有何作用?
- *列举出某一个属性所需要的正确值,限制赋值范围
- */
-
- }
-
- }
生成随机数的其他方式
java.util.Random类
Random rand=new Random(); //创建一个Random对象
for(int i=0;i<20;i++){//随机生成20个随机整数,并显示
int num=rand.nextInt(10);//返回下一个伪随机数,整型的
System.out.println("第"+(i+1)+"个随机数是:"+num);
}
随机数方法:Math.random( ):随机返回一个介于0.0(包括)~1.0(不包括)之间的double类型的数据
double num1 = Math.random();
System.out.println(num1);
随机返回一个[num1,num2)之间的int类型的整(num2>num1)
int num = (int)(Math.random()*(num2-num1)+num1);
注意:
用同一个种子值来初始化两个Random 对象,然后用每个对象调用相同的方法,得到的随机数也是相同的
- package Math.Demo02;
-
- import java.util.Random;
-
- public class RandomDemo01 {
-
- public static void main(String[] args) {
- //创建Random类对象
- Random random =new Random();//无参构造创建对象
- int result1= random.nextInt();
- System.out.println(result1);
- System.out.println(random.nextBoolean());
-
- //创建Random类对象
- Random random2 = new Random(10);//有参构造创建对象
- System.out.println(random2.nextInt(10));
-
- //创建Random类对象
- Random random3= new Random();
- System.out.println(random3.nextInt(10));//随机生成一个[0,10)之间的整数
-
- /* 用同一个种子值来初始化两个Random对象,然后用每个对象调用相同的方
- * 法,得到的随机数也是相同的
- */
- Random r1= new Random(100);
- Random r2= new Random(100);
- System.out.println(r1.nextBoolean());
- System.out.println(r2.nextBoolean());
- }
-
- }
使用String对象存储字符串
String s = new String();
String s = "Hello World";
String s = new String("Hello World");
String类位于java.lang包中,具有丰富的方法
计算字符串的长度、比较字符串、连接字符串、提取字符串
length()方法:
String类提供了length()方法,确定字符串的长度
StringBuilder类、StringBuffer类:
建议优先采用StringBuilder类
主要操作为:
append() 添加字符串到末端
insert() 指定点添加字符串
reverse() 字符反转
- package String.Demo03;
-
- public class StringDemo01 {
-
- public static void main(String[] args) {
-
- String string = "sadqfafad";
-
- //获取字符串的长度
- int length=string.length();
- System.out.println("字符串长度:"+length);
-
- /*
- *获取数组长度:数组名.length
- *获取集合长度:集合名.size()
- *获取字符串长度:字符串对象名.length()
- */
-
- //比较两个字符串的长度是否相同
- String str1="qwe";
- String str2="qwe";
- System.out.println(str1.equals(str2));//值为:true
- System.out.println(str1==str2);//值为:true
-
- String str3=new String("asd");
- String str4=new String("asd");
- System.out.println(str3.equals(str4));//值为:true
- System.out.println(str3==str4);//false
-
- //其他比较字符串的方法
- String str5="qwert";
- String str6="Qwert";
- //区分大小写进行比较
- System.out.println(str5.equals(str6));//大小写比较:
- //equalsIgnoreCase()不区分大小写进行比较
- System.out.println(str5.equalsIgnoreCase(str6));//大小写比较
-
- //toLowerCase()大写转小写
- String result = str6.toLowerCase();
- System.out.println(str6);//Qwert //字符串对象调用方法后,不会改变自身的内容,相当于是对它的复制品进行了修改
- System.out.println(result);//qwert
-
- System.out.println(str5.toUpperCase());//QWERT //返回结果值,结果值全部大写
-
- }
- }
-
- ---------------------------------------------------------------------------------------
- package StringBuffer.Demo04;
-
- import java.util.Scanner;
-
- public class StringBufferDemo02 {
-
- public static void main(String[] args) {
-
- //如:输入1234567890
- Scanner sc = new Scanner(System.in);
- System.out.println("输入一串数字");
- String num =sc.next();
- StringBuffer sb = new StringBuffer(num);
- for(int i=sb.length()-3;i>0;i-=3){
- sb.insert(i, " ");
- }
- System.out.println(sb);//结果:1 234 567 890
-
-
-
- StringBuilder sbl=new StringBuilder(num);
- System.out.println(sbl.reverse());
- /*
- * StringBuilder类:主要操作为append(添加到末端)和insert(指定点添加)方法,
- * reverse() 字符反转
- *
- * StringBuffer类:
- *
- * 建议优先采用StringBuilder类
- */
- }
-
- }
- package String.Demo03;
-
- import java.util.Arrays;
-
- public class StringDemo03 {
-
- public static void main(String[] args) {
- //字符串常用提取方法
- String str1="sdfgahjklxcvbnma";
-
- //public int indexOf(int ch)搜索第一个出现的字符ch(或字符串value),如果没有找到,返回-1
- //public int indexOf(String value)搜索第一个出现的字符ch(或字符串value),如果没有找到,返回-1
- int index = str1.indexOf(97);//ASCII码97对应的是a,a下标为4
- System.out.println(index);
- System.out.println(str1.indexOf("hj"));//从前往后查找字符;返回下标值:5
-
- //public int lastIndexOf(int ch)搜索最后一个出现的字符ch(或字符串value),如果没有找到,返回-1
- //public int lastIndexOf(String value)搜索最后一个出现的字符ch(或字符串value),如果没有找到,返回-1
- System.out.println(str1.lastIndexOf(97));//从后往前查找字符;返回下标值:15
- System.out.println(str1.lastIndexOf("nma"));//从后往前查找字符;返回下标值:13
-
- //public String substring(int index)提取从位置索引开始的字符串到末尾部分
- System.out.println(str1);//sdfgahjklxcvbnma
- System.out.println(str1.substring(3));//截取下标值(包括下标值)之后的字符串:gahjklxcvbnma
-
- //public String substring(int beginindex, int endindex)提取beginindex(包括)和endindex(不包括)之间的字符串部分
- System.out.println(str1);//sdfgahjklxcvbnma
- System.out.println(str1.substring(3,6 ));//gah
-
- //public String trim()返回一个前后不含任何空格的调用字符串的副本
- String str2 = " wdad dmjl ";
- System.out.println(str2);//" wdad dmjl "
- System.out.println(str2.trim());//trim()去除字符串首尾空格:"wdad dmjl"
-
- //字符串拆分方法
- String str3 = "长亭外 古道边 芳草碧连天 晚风拂 柳笛声残 夕阳山外山";
- String[] strs = str3.split(" ");
- for (String string : strs) {
- System.out.println(string);
- }
-
- String str4 = "我爱你就像老鼠爱大米";
- String[] strs2=str4.split("爱");//遇"爱"拆分:[我, 你就像老鼠, 大米]
- System.out.println(Arrays.toString(strs2));
-
- //判断字符串是否以指定内容结尾
- String str5 = "HelloWorld.java";
- System.out.println(str5.endsWith(".java"));//是返回true,否则false
- //判断字符串是否以指定内容开头
- System.out.println(str5.startsWith("He"));
-
- //将字符串变成byte类型的数组
- byte[] bytes=str5.getBytes();
- for (byte b : bytes) {
- System.out.print((char)b);//转成字符型char
- }
- }
-
- }
equals()方法:
String类提供了equals( )方法,比较存储在两个字符串对象的内容是否一致
==:判断两个字符串在内存中的地址,即判断是否是同一个字符串对象
字符串比较的其他方法:
使用equalsIgnoreCase()方法
使用toLowerCase()方法
使用toUpperCase()方法
- package String.Demo03;
-
- public class StringDemo01 {
-
- public static void main(String[] args) {
-
- String string = "sadqfafad";
-
- //获取字符串的长度
- int length=string.length();
- System.out.println("字符串长度:"+length);
-
- /*
- *获取数组长度:数组名.length
- *获取集合长度:集合名.size()
- *获取字符串长度:字符串对象名.length()
- */
-
- //比较两个字符串的长度是否相同
- String str1="qwe";
- String str2="qwe";
- System.out.println(str1.equals(str2));//值为:true
- System.out.println(str1==str2);//值为:true
-
- String str3=new String("asd");
- String str4=new String("asd");
- System.out.println(str3.equals(str4));//值为:true
- System.out.println(str3==str4);//false
-
- //其他比较字符串的方法
- String str5="qwert";
- String str6="Qwert";
- //区分大小写进行比较
- System.out.println(str5.equals(str6));//大小写比较:
- //equalsIgnoreCase()不区分大小写进行比较
- System.out.println(str5.equalsIgnoreCase(str6));//大小写比较
-
- //toLowerCase()大写转小写
- String result = str6.toLowerCase();
- System.out.println(str6);//Qwert //字符串对象调用方法后,不会改变自身的内容,相当于是对它的复制品进行了修改
- System.out.println(result);//qwert
-
- System.out.println(str5.toUpperCase());//QWERT //返回结果值,结果值全部大写
-
- }
- }
方法1:使用“+”
方法2:使用String类的concat()方法
String str1="qwert";
String str2="tyuu";
String result= str1.concat(str2);
System.out.println(result);
"yyyy-MM-d HH:mm:ss E "中国时区格式
- package SimpleDateFormat.Demo05;
-
- import java.text.SimpleDateFormat;
- import java.util.Date;
-
- public class DataDemo01 {
-
- public static void main(String[] args) {
- //日期时间
- //创建Date类对象
- Date date = new Date();
- System.out.println(date);//Thu Aug 18 01:45:29 CST 2022
-
- //Date类中很多方法都已过时,使用Calendar类替代
- /*System.out.println(date.getYear()+1900);
- System.out.println(date.getMonth()+1);*/
-
- //中国时间格式
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-d HH:mm:ss E D");
- String str = sdf.format(date);
- System.out.println(str);//2022-08-18 02:00:22 星期四 230(8月十八号是一年中的第230天)
-
-
- }
-
- }