Java基础知识复习第二天(Number和Math类 Character类 String类 StringBuffer和StringBuilder类 Scanner类)

标题:Java基础知识复习第二天

学习内容:

提示:这里可以添加要学的内容
例如:
1、 Java Number和Math类
2、 Java Character类
3、 Java String类
4、 Java StringBuffer和StringBuilder类
5、 Java Scanner类


内容详情:

1.JavaNumber和Math类
在实际开发过程中,我们经常会遇到需要使用对象,而不是内置数据类型的情形。为了解决这个问题,Java 语言为每一个内置数据类型提供了对应的包装类。

所有的包装类(Integer、Long、Byte、Double、Float、Short)都是抽象类 Number 的子类。

在这里插入图片描述
下面的代码是Number和Math类的一些常用的基本方法,也可以直接去查API
装箱和拆箱下面的代码中有

package SecondDay;

public class Number {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Integer a=50;// **赋值时,由于a是对象,所以有一个将a进行装箱的过程**
		
		a+=2;//**要进行运算,有一个将a进行拆箱的过程**
		System.out.println(a);
		System.out.println("----------------------------");
//以下是Math类的一些方法
//-----------------------------------------------------------------	
//-----------------------------------------------------------------	
//-----------------------------------------------------------------	
//		random() 方法用于返回一个随机数,随机数范围为 0.0 =< Math.random < 1.0。
		
/*	
		System.out.println(Math.random());
		System.out.println(Math.random());
		//每次运行结果都不一样
*/
//-----------------------------------------------------------------	
		//tan2() 方法用于将矩形坐标 (x, y) 转换成极坐标 (r, theta),返回所得角 theta。
		//该方法通过计算 y/x 的反正切值来计算相角 theta,范围为从 -pi 到 pi。
		//toDegrees() 方法用于将参数转化为角度。
		//toRadians() 方法用于将角度转换为弧度
/*	
		System.out.println(Math.atan2(5, 4));//0.8960553845713439
		System.out.println(Math.toDegrees(30));//1718.8733853924698
		System.out.println(Math.toRadians(30));//0.5235987755982988
*/
//-----------------------------------------------------------------	
		
//		sin() 方法用于返回指定double类型参数的正弦值。
//		cos() 方法用于返回指定double类型参数的余弦值。
//		tan() 方法用于返回指定double类型参数的正切值。
//		asin() 方法用于返回指定double类型参数的反正弦值
//		acos() 方法用于返回指定double类型参数的反余弦值。
//		atan() 方法用于返回指定double类型参数的反正切值。	     
/*	
		 double b = 30;
	     double c = Math.toRadians(b);
	     System.out.println(Math.sin(c));//0.49999999999999994
	     System.out.println(Math.sin(Math.PI/2));//1.0
	     
	     System.out.println(Math.cos(c));//0.8660254037844387
	     System.out.println(Math.cos(Math.PI/2));
	     //6.123233995736766e-17 也就是 0.00000000000000006123233995736766 其实非常接近于0了。
	     System.out.println(Math.cos(Math.PI/4));//0.7071067811865476
	     
	     System.out.println(Math.tan(c));//0.5773502691896257
	     System.out.println(Math.asin(c));//0.5510695830994463
	     System.out.println(Math.acos(c));//1.0197267436954502
	     System.out.println(Math.atan(c));//0.48234790710102493

*/
//-----------------------------------------------------------------			
//		//pow() ;pow() 方法用于返回第一个参数的第二个参数次方。
//		//sqrt();sqrt() 方法用于返回参数的算术平方根。		
/*	
		System.out.println(Math.pow(2.0,3.0));//8.0
		System.out.println(Math.sqrt(4));//2.0
*/
//-----------------------------------------------------------------		
//		//exp();exp() 方法用于返回自然数底数e的参数次方。
//		//log();log() 方法用于返回参数的自然数底数的对数值。
/*	
		System.out.println(Math.E);//2.718281828459045
		System.out.println(Math.exp(2.0));//7.38905609893065
		System.out.println(Math.E);//2.718281828459045
		System.out.println(Math.log(7.38905609893065));//2.0
*/
		
//-----------------------------------------------------------------			
//		min();max();输入参数的时候是相同类型的
		
/*	
		System.out.println(Math.min(5, 7));//5
		System.out.println(Math.max(5, 7));//7
*/
//-----------------------------------------------------------------			
//		ceil();//向上取整   返回 double 类型数据
//		floor();//向下取整	返回 double 类型数据
//		rint();//小于等于0.5向下取整,大于0.5向上取整  返回 double 类型数据
//		round();//小于0.5向下取整,大于等于0.5向上取整 返回一个最接近的int、long型值,方法会指定返回的数据类型。		
/*
		double b=100.1;
		double c=100.5;
		double d=100.7;
		float  e=100.1f;
		float  f=100.5f;
		float  g=100.7f;
		System.out.println(Math.ceil(b));//101.0
		System.out.println(Math.ceil(c));//101.0
		System.out.println(Math.ceil(d));//101.0
		
		System.out.println(Math.floor(b));//100.0
		System.out.println(Math.floor(c));//100.0
		System.out.println(Math.floor(d));//100.0
		
		System.out.println(Math.rint(b));//100.0
		System.out.println(Math.rint(c));//100.0
		System.out.println(Math.rint(d));//101.0
		//round函数返回int类型的时候只能用float作为参数,而返回long的话用double
		System.out.println(Math.round(b));//100
		System.out.println(Math.round(c));//101
		System.out.println(Math.round(d));//101
		System.out.println(Math.round(e));//100
		System.out.println(Math.round(f));//101
		System.out.println(Math.round(g));//101
 		
*/
//-----------------------------------------------------------------	
//		//abs();abs() 返回参数的绝对值。参数可以是 int, float, long, double, short, byte类型。
/*
		int b=-10;
		double c=-20;
		float  d=-30;
		short  e=20;
		System.out.println(Math.abs(b));//10
		System.out.println(Math.abs(c));//20.0
		System.out.println(Math.abs(d));//30.0
		System.out.println(Math.abs(e));//20
*/		
//-----------------------------------------------------------------
//-----------------------------------------------------------------
//-----------------------------------------------------------------
//以下是Number类的方法
//		//parseInt()
//		parseInt() 方法用于将字符串参数作为有符号的十进制整数进行解析。
//		如果方法有两个参数, 使用第二个参数指定的基数,将字符串参数解析为有符号的整数.
//		static int parseInt(String s)
//		static int parseInt(String s, int radix)
//		s -- 十进制表示的字符串。radix -- 指定的基数。
/*		
		String s="12";
		System.out.println(Integer.parseInt(s));//12
		System.out.println(Double.parseDouble(s));//12.0		
		System.out.println(Integer.parseInt("12",8));//10
*/		
//-----------------------------------------------------------------			
//		//toString();返回以一个字符串表示的 Number 对象值
/*		
		System.out.println(a.toString());
 */
//-----------------------------------------------------------------		
//		//valueOf();
//		valueOf() 方法用于返回给定参数的原生 Number 对象值,参数可以是原生数据类型, String等。
//		该方法是静态方法。该方法可以接收两个参数一个是字符串,一个是基数。
//		有以下几种格式
//		static Integer valueOf(int i) 返回一个表示指定的 int 值的 Integer 实例。
//		static Integer valueOf(String s)返回保存指定的 String 的值的 Integer 对象。
//		static Integer valueOf(String s, int radix)
//		返回一个 Integer 对象,该对象中保存了用第二个参数提供的基数进行解析时从指定的 String 中提取的值。
//		i -- Integer 对象的整数。s -- Integer 对象的字符串。
//		radix --在解析字符串 s 时使用的进制数,用于指定使用的进制数。
/*		Integer b=36;
		String  c="xxx";
		String  d="525";
		System.out.println(Integer.valueOf(b));36
		System.out.println(Double.valueOf(b));36.0
		System.out.println(String.valueOf(c));xxx
		System.out.println(Integer.valueOf(d,8));341
		
*/	
//-----------------------------------------------------------------
//		//equals
/*
		System.out.println(a.equals(52));ture
		System.out.println(a.equals(53));false
*/			
//-----------------------------------------------------------------
//		//xxxvalue();
/*
		a+=100;
		System.out.println(a.intValue());//152
		System.out.println(a.byteValue());//-104,这个结果我想了想,应该是超过127之后,又从-128开始然后+152-128
		System.out.println(a.shortValue());//152
		System.out.println(a.longValue());//152
		System.out.println(a.floatValue());//152.0
		System.out.println(a.doubleValue());//152.0
		a+=10000;
		System.out.println(a.doubleValue());//152.0
*/		
//-----------------------------------------------------------------
//		//compareTo();
/*		
		System.out.println(a.compareTo(5));//大于参数5返回1
		System.out.println(a.compareTo(53));//小于参数53返回-1
		System.out.println(a.compareTo(52));//等于参数52返回0
*/		
//-----------------------------------------------------------------
		
	}

}

2.Character类
和之前的都差不多,这里给一个查API的链接 java.lang.Character API
3.String类
在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串。
一旦创建了 String 对象,那它的值就无法改变了,需要对字符串做很多修改,那么应该选择使用 StringBuffer & StringBuilder 类。这两个类优缺点下一点会描述。
常用的方法很多,和之前的都差不多,这里给一个查API的链接
Java String API

4.StringBuffer和StringBuilder类
当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类。

和 String 类不同的是,StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。

StringBuilder 类在 Java 5 中被提出,它和 StringBuffer 之间的最大不同在于 StringBuilder 的方法不是线程安全的(不能同步访问)。

由于 StringBuilder 相较于 StringBuffer 有速度优势,所以多数情况下建议使用 StringBuilder 类。然而在应用程序要求线程安全的情况下,则必须使用 StringBuffer 类。
5.Scanner类
首先需要导包,Java.lang是默认的不需要导包,但是这个不属于所以需要导包
import java.util.Scanner;
下面的代码是三种输入方式,next()和nextLine()的比较

package SecondDay;

import java.util.Scanner;

public class ScannerTest {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//普通的输入方式
		Scanner sc =new Scanner(System.in);
		int x=sc.nextInt();
		System.out.println(x);
		//next()方式
		if(sc.hasNext()) {
			String  st=sc.next();
		
			System.out.println(st);
			
		}//输入两个字符串  aaaa  bbbb  结果只打印aaaa.
		
		//nextLine()方式,输入两个字符串  aaaa  bbbb  结果打印aaaa  bbbb.
		if(sc.hasNextLine()) {
			String  st=sc.nextLine();
			
			System.out.println(st);
			
		}

	}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值