这周准备了四级,但是更重要的是,那个毛概要补考了,一会儿晚上考试,水一篇,这周的东西都总结完了。
符
比如:
3<1?A:b
如果3<1 是的话就是A 不是的话就是b
System.out.println(3>2?"A":"B");//输出A
七、字符串去空格
//去除所有
String str = rd.next();
String str2 = str.replaceAll(" ", "");
System.out.println(str2);
//去除首尾
String str = " 123 ";
System.out.println(str.trim());
......
八、equals()、==、equalsIgnoreCase()
//equals() 会判断大小写区别,equalsIgnoreCase() 不会判断大小写区别
基本类型:比较的就是值是否相同
引用类型:比较的就是地址值是否相同equals 的作用:
九、next()与nextLine()的区别
//如果写成scanner.next()就会错误,因为只有nextLine()可以输入像空格、回车一样的字符
十、String和StringBuilder的区别
//String的对象不可变
//StringBuilder中字符可变
十一、toCharArray()方法
//是一个将字符串转化为字符数组的方法。
String a = new String("Mustang");
char []b = a.toCharArray();
System.out.println(b[2]); //最终输出的结果为s;
十二、substring()方法
//返回字符串的子串
//substring(a)和substring(a,b)
public static void main(String[] args) {
String num = "0123456789";
String ab1 = num.substring(2, 6);
String ab2 = num.substring(1, 8);
String a = num.substring(3);
System.out.println("ab1的值:" + ab1);
System.out.println("ab2的值:" + ab2);
System.out.println("a的值:" + a);
}
}
输出结果:
ab1的值:2345
ab2的值:1234567
a的值:3456789
总结:
1.java中String元素下标从0开始,substring(a)是从第a个字符开始截取,包含第a个字符。可以看成数学中的[ ),表示左闭右开区间
2.substring(a, b)表示截取下标从a开始到b结束的字符,包含第a个字符但是不包含第b个字符,可以看成[a,b)。
十三、保留有效数字
System.out.printf("%6.4f\n",BMI);
// .前为一共几位数字;.后为小数点后几位;BMI为该数字
十四、BigDecimal
BigDecimal是处理高精度的浮点数运算的常用的一个类
当需要将BigDecimal中保存的浮点数值打印出来,特别是在页面上显示的时候,就有可能遇到预想之外的科学技术法表示的问题。
一般直接使用 BigDecimal.toString()方法即可以完成浮点数的打印。如:
System.out.println( new BigDecimal("10000000000").toString());
但是,toString()方法输出的字符串并不能保证不是科学计数法。
不过在日常的使用中,用toString()方法输出的就是普通的数字字符串而非科学计数法。直接这么写:
System.out.println( new BigDecimal("100.000").toString());
程序的输出即为: 100.000
如果我们希望去除末尾多余的0,那么我们应该这么写:
System.out.println( new BigDecimal("100.000").stripTrailingZeros().toString()); //输出为:1E+2
其中,stripTrailingZeros()函数就是用于去除末尾多余的0的,但是此时程序的输出为: 1E+2是科学计数法,可能并不是我们想要的。
解决的方法很简单,如果想要避免输出科学计数法的字符串,
我们要用toPlainString()函数代替toString()如:
System.out.println( new BigDecimal("100.000").stripTrailingZeros().toPlainString());
十五、Arrays.sort()
Java的Arrays类中有一个sort()方法,该方法是Arrays类的静态方法,在需要对数组进行排序时,非常的好用。
public class p5717 {
//从大到小排序
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
int[] a = {9, 8, 7, 2, 3, 4, 1, 0, 6, 5};
Arrays.sort(a, 0, 10); //a:数组名称;0:数组的第一个位置;10:一共排几个数字
for(int i = 0; i < a.length; i ++) {
System.out.print(a[i] + " ");
}
}
}
public class p5717 {
//从小到大排序
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
int arr[] = new int[3];
for (int i = 0; i < arr.length; i++) {
System.out.println("请输入数字:");
arr[i] = reader.nextInt();
}
Arrays.sort(arr);
for (int j = 0; j < arr.length; j++) {
System.out.print(arr[j] + " ");
}
}
}
十六、System.exit(0)表示的是终止程序;System.exit(1)表示异常终止
十七、java截取字符的方法
s += Integer.parseInt(num.substring(i,i+1));
首先,num.substring(i,i+1)这是一个String的截取字符串的方法,从第i个开始到i+1个。截取之后,转成int类型。
与s相加,然后赋值给s。
十八、String.valusOf()方法的使用
// 由基本数据型态转换成String
String 类别中已经提供了将基本数据型态转换成 String 的 static 方法,也就是
String.valueOf() 这个参数多载的方法有以下几种:
(1)String.valueOf(boolean b) : 将 boolean 变量 b 转换成字符串
(2)String.valueOf(char c) : 将 char 变量 c 转换成字符串
(3)String.valueOf(char[] data) : 将 char 数组 data 转换成字符串
(4)String.valueOf(char[] data, int offset, int count) : 将 char 数组 data 中 由 data[offset] 开始取 count 个元素转换成字符串
(5)String.valueOf(double d) : 将 double 变量 d 转换成字符串
(6)String.valueOf(float f) : 将 float 变量 f 转换成字符串
(7)String.valueOf(int i) : 将 int 变量 i 转换成字符串
(8)String.valueOf(long l) : 将 long 变量 l 转换成字符串
(9)String.valueOf(Object obj) : 将 obj 对象转换成 字符串, 等于 obj.toString()
用法如下:
int i = 10;
String str = String.valueOf(i);
这时候 str 就会是 "10"
//由 String 转换成 数字的基本数据型态
要将 String 转换成基本数据型态转 ,大多需要使用基本数据型态的包装类别
比如说 String 转换成 byte ,可以使用 Byte.parseByte(String s) ,这一类的方法如果无法将 s 分析 则会丢出 NumberFormatException
(1)byte : Byte.parseByte(String s) : 将 s 转换成 byte
(2)Byte.parseByte(String s, int radix) : 以 radix 为基底 将 s 转换为 byte ,比如说 Byte.parseByte("11", 16) 会得到 17
(3)double : Double.parseDouble(String s) : 将 s 转换成 double
(4)float : Double.parseFloat(String s) : 将 s 转换成 float
(5)int : Integer.parseInt(String s) : 将 s 转换成 int
(6)long : Long.parseLong(String s)
十九、charAt()
//java.lang.String.charAt() 方法返回指定索引处的char值。索引范围是从0到length() - 1。
//对于数组索引,序列的第一个char值是在索引为0,索引1,依此类推
String s ="abc";
System.out.println(s.charAt(1)); //输出结果为:b
二十、reverse
public class test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
String x = String.valueOf(N);
StringBuilder y = new StringBuilder(x); //使用System.Text.StringBuilder类,可以修改字符串而不创建新的对象
y.reverse(); //进行反转
System.out.println(y); //输入123,输出321
}
}
二十一、字母大小写反转
//字母大小写反转
public class p5704 {
public static void main(String[] args) {
String str = "Q";
System.out.println(str.toLowerCase());
String strs = "q";
System.out.println(str.toUpperCase());
}
}
二十二、顺序反转
public class p5705 {
public static void main(String[] args) {
String a = "123.4";
//方法一 : 利用StringBuffer的reverse
String a1 = new StringBuffer(a).reverse().toString();
System.out.println(a1);
//StringBuffer();就是构造一个StringBuffer对象。
//sb.reverse()就是用来把stringbuffer里面的字符串翻转。譬如你stringbuffer里面存放了abc,
//sb.reverse()====>cba
//sb.toString()就是返回该stringbuffer的字符串形式。
// 方法二 利用String的toCharArray方法先将字符串转化为char类型的数组,然后将各个字符进行重新拼接
char [] chars = a.toCharArray();
String a2="";
for (int i=chars.length-1;i>=0;i--) {
a2 +=chars[i];
}
System.out.println(a2);
//方法三 利用String的CharAt方法取出字符串中的各个字符
String a3 = "";
for (int i=0;i<a.length();i++){
a3=a.charAt(i) + a3;
}
System.out.println(a3);
//查找某字符串特定索引位置的字符时什么,比如:
//String a="abcde";
//char c=a.charAt(1);
//则c=‘b’
//Java程序中strObj.charAt(index)方法,返回指定索引位置处的字符。CharAt()方法返回一个字符值,该字符位于指定索引位置。
//字符串中的第一个字符的索引为 0,第二个的索引为 1,等等。超出有效范围的索引值返回空字符串。
}
}
二十三、取绝对值
public class p1425 {
public static void main(String[] args) {
int b = 50,d = 10;
int f = d - b;
int value = Math.abs(f);
System.out.println(value);
}
}
二十四、保留小数点后几位
public class p5706 {
public static void main(String[] args) {
double t = 500.0, n = 3;
double a = t / n;
String s = String.format("%.3f", a); //f前是几,就是保留几位数字 a为该数字
System.out.println("每个同学可以获得的饮料数:" + s);
System.out.println(String.format("%.1f", e));
}
}
// Math.sqrt() 计算平方根
//Math.cbrt() 计算立方根
//Math.hypot(x,y) 计算(x的平方 + y的平方)的平方根
//Math.pow(a,b) 计算a的b次方
//Math.abs(a) 求绝对值
//Math.ceil() 向上取整
//Math.floor() 向下取整
//Math.round() 四舍五入
DecimalFormat df = new DecimalFormat("#0.0"); //. 后边几个零,就是几位小数
System.out.print(df.format(sum1/flag1)+" "+df.format((sum-sum1)/(n-flag1)));
二十五、Java中BigInteger方法总结
BigInteger不是基本数据类型之一,它其实更像String,是Java里的一个类,然而它的初始化方式却没有String那么方便可以直接赋值,而是跟其他自定义的类一样,要调用它的构造器进行初始化。这个类的取值范围原则上是没有上限的,取决于你的计算机的内存
二十六、Java中字符串中子串的查找共有四种方法(indexof())
indexOf 方法返回一个整数值,指出 String 对象内子字符串的开始位置。如果没有找到子字符串,则返回-1。
如果startindex 是负数,则 startindex 被当作零。如果它比最大的字符位置索引还大,则它被当作最大的可能索引。
Java中字符串中子串的查找共有四种方法,如下:
1、int indexOf(String str) :返回第一次出现的指定子字符串在此字符串中的索引。
2、int indexOf(String str, int startIndex):从指定的索引处开始,返回第一次出现的指定子字符串在此字符串中的索引。
3、int lastIndexOf(String str) :返回在此字符串中最右边出现的指定子字符串的索引。
4、int lastIndexOf(String str, int startIndex) :从指定的索引处开始向后搜索,返回在此字符串中最后一次出现的指定子字符串的索引。
public class Person {
publicstatic void main(String[] args) {
Stringstring="dccgcfacggx";//返回第一次出现的指定子字符串在此字符串中的索引。System.out.println(string.indexOf("c"));
System.out.println(string.lastIndexOf("g",8));
//结果:8 }}
//结果:1
//如果没有找到子字符串,则返回-1System.out.println(string.indexOf("z"));
//结果:-1
//从指定的索引处开始,返回第一次出现的指定子字符串在此字符串中的索引。System.out.println(string.indexOf("c",3));
//结果:4
//返回在此字符串中最右边出现的指定子字符串的索引。System.out.println(string.lastIndexOf("g"));
//结果:9
//从指定的索引处开始向后搜索,返回在此字符串中最后一次出现的指定子字符串的索引。
Scanner rd = new Scanner(System.in);
String s = rd.next();
for (int i=0;i<s.length();i++){
System.out.println(s.charAt(i));
}符
比如:
3<1?A:b
如果3<1 是的话就是A 不是的话就是b
System.out.println(3>2?"A":"B");//输出A
七、字符串去空格
//去除所有
String str = rd.next();
String str2 = str.replaceAll(" ", "");
System.out.println(str2);
//去除首尾
String str = " 123 ";
System.out.println(str.trim());
......
八、equals()、==、equalsIgnoreCase()
//equals() 会判断大小写区别,equalsIgnoreCase() 不会判断大小写区别
基本类型:比较的就是值是否相同
引用类型:比较的就是地址值是否相同equals 的作用:
九、next()与nextLine()的区别
//如果写成scanner.next()就会错误,因为只有nextLine()可以输入像空格、回车一样的字符
十、String和StringBuilder的区别
//String的对象不可变
//StringBuilder中字符可变
十一、toCharArray()方法
//是一个将字符串转化为字符数组的方法。
String a = new String("Mustang");
char []b = a.toCharArray();
System.out.println(b[2]); //最终输出的结果为s;
十二、substring()方法
//返回字符串的子串
//substring(a)和substring(a,b)
public static void main(String[] args) {
String num = "0123456789";
String ab1 = num.substring(2, 6);
String ab2 = num.substring(1, 8);
String a = num.substring(3);
System.out.println("ab1的值:" + ab1);
System.out.println("ab2的值:" + ab2);
System.out.println("a的值:" + a);
}
}
输出结果:
ab1的值:2345
ab2的值:1234567
a的值:3456789
总结:
1.java中String元素下标从0开始,substring(a)是从第a个字符开始截取,包含第a个字符。可以看成数学中的[ ),表示左闭右开区间
2.substring(a, b)表示截取下标从a开始到b结束的字符,包含第a个字符但是不包含第b个字符,可以看成[a,b)。
十三、保留有效数字
System.out.printf("%6.4f\n",BMI);
// .前为一共几位数字;.后为小数点后几位;BMI为该数字
十四、BigDecimal
BigDecimal是处理高精度的浮点数运算的常用的一个类
当需要将BigDecimal中保存的浮点数值打印出来,特别是在页面上显示的时候,就有可能遇到预想之外的科学技术法表示的问题。
一般直接使用 BigDecimal.toString()方法即可以完成浮点数的打印。如:
System.out.println( new BigDecimal("10000000000").toString());
但是,toString()方法输出的字符串并不能保证不是科学计数法。
不过在日常的使用中,用toString()方法输出的就是普通的数字字符串而非科学计数法。直接这么写:
System.out.println( new BigDecimal("100.000").toString());
程序的输出即为: 100.000
如果我们希望去除末尾多余的0,那么我们应该这么写:
System.out.println( new BigDecimal("100.000").stripTrailingZeros().toString()); //输出为:1E+2
其中,stripTrailingZeros()函数就是用于去除末尾多余的0的,但是此时程序的输出为: 1E+2是科学计数法,可能并不是我们想要的。
解决的方法很简单,如果想要避免输出科学计数法的字符串,
我们要用toPlainString()函数代替toString()如:
System.out.println( new BigDecimal("100.000").stripTrailingZeros().toPlainString());
十五、Arrays.sort()
Java的Arrays类中有一个sort()方法,该方法是Arrays类的静态方法,在需要对数组进行排序时,非常的好用。
public class p5717 {
//从大到小排序
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
int[] a = {9, 8, 7, 2, 3, 4, 1, 0, 6, 5};
Arrays.sort(a, 0, 10); //a:数组名称;0:数组的第一个位置;10:一共排几个数字
for(int i = 0; i < a.length; i ++) {
System.out.print(a[i] + " ");
}
}
}
public class p5717 {
//从小到大排序
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
int arr[] = new int[3];
for (int i = 0; i < arr.length; i++) {
System.out.println("请输入数字:");
arr[i] = reader.nextInt();
}
Arrays.sort(arr);
for (int j = 0; j < arr.length; j++) {
System.out.print(arr[j] + " ");
}
}
}
十六、System.exit(0)表示的是终止程序;System.exit(1)表示异常终止
十七、java截取字符的方法
s += Integer.parseInt(num.substring(i,i+1));
首先,num.substring(i,i+1)这是一个String的截取字符串的方法,从第i个开始到i+1个。截取之后,转成int类型。
与s相加,然后赋值给s。
十八、String.valusOf()方法的使用
// 由基本数据型态转换成String
String 类别中已经提供了将基本数据型态转换成 String 的 static 方法,也就是
String.valueOf() 这个参数多载的方法有以下几种:
(1)String.valueOf(boolean b) : 将 boolean 变量 b 转换成字符串
(2)String.valueOf(char c) : 将 char 变量 c 转换成字符串
(3)String.valueOf(char[] data) : 将 char 数组 data 转换成字符串
(4)String.valueOf(char[] data, int offset, int count) : 将 char 数组 data 中 由 data[offset] 开始取 count 个元素转换成字符串
(5)String.valueOf(double d) : 将 double 变量 d 转换成字符串
(6)String.valueOf(float f) : 将 float 变量 f 转换成字符串
(7)String.valueOf(int i) : 将 int 变量 i 转换成字符串
(8)String.valueOf(long l) : 将 long 变量 l 转换成字符串
(9)String.valueOf(Object obj) : 将 obj 对象转换成 字符串, 等于 obj.toString()
用法如下:
int i = 10;
String str = String.valueOf(i);
这时候 str 就会是 "10"
//由 String 转换成 数字的基本数据型态
要将 String 转换成基本数据型态转 ,大多需要使用基本数据型态的包装类别
比如说 String 转换成 byte ,可以使用 Byte.parseByte(String s) ,这一类的方法如果无法将 s 分析 则会丢出 NumberFormatException
(1)byte : Byte.parseByte(String s) : 将 s 转换成 byte
(2)Byte.parseByte(String s, int radix) : 以 radix 为基底 将 s 转换为 byte ,比如说 Byte.parseByte("11", 16) 会得到 17
(3)double : Double.parseDouble(String s) : 将 s 转换成 double
(4)float : Double.parseFloat(String s) : 将 s 转换成 float
(5)int : Integer.parseInt(String s) : 将 s 转换成 int
(6)long : Long.parseLong(String s)
十九、charAt()
//java.lang.String.charAt() 方法返回指定索引处的char值。索引范围是从0到length() - 1。
//对于数组索引,序列的第一个char值是在索引为0,索引1,依此类推
String s ="abc";
System.out.println(s.charAt(1)); //输出结果为:b
二十、reverse
public class test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
String x = String.valueOf(N);
StringBuilder y = new StringBuilder(x); //使用System.Text.StringBuilder类,可以修改字符串而不创建新的对象
y.reverse(); //进行反转
System.out.println(y); //输入123,输出321
}
}
二十一、字母大小写反转
//字母大小写反转
public class p5704 {
public static void main(String[] args) {
String str = "Q";
System.out.println(str.toLowerCase());
String strs = "q";
System.out.println(str.toUpperCase());
}
}
二十二、顺序反转
public class p5705 {
public static void main(String[] args) {
String a = "123.4";
//方法一 : 利用StringBuffer的reverse
String a1 = new StringBuffer(a).reverse().toString();
System.out.println(a1);
//StringBuffer();就是构造一个StringBuffer对象。
//sb.reverse()就是用来把stringbuffer里面的字符串翻转。譬如你stringbuffer里面存放了abc,
//sb.reverse()====>cba
//sb.toString()就是返回该stringbuffer的字符串形式。
// 方法二 利用String的toCharArray方法先将字符串转化为char类型的数组,然后将各个字符进行重新拼接
char [] chars = a.toCharArray();
String a2="";
for (int i=chars.length-1;i>=0;i--) {
a2 +=chars[i];
}
System.out.println(a2);
//方法三 利用String的CharAt方法取出字符串中的各个字符
String a3 = "";
for (int i=0;i<a.length();i++){
a3=a.charAt(i) + a3;
}
System.out.println(a3);
//查找某字符串特定索引位置的字符时什么,比如:
//String a="abcde";
//char c=a.charAt(1);
//则c=‘b’
//Java程序中strObj.charAt(index)方法,返回指定索引位置处的字符。CharAt()方法返回一个字符值,该字符位于指定索引位置。
//字符串中的第一个字符的索引为 0,第二个的索引为 1,等等。超出有效范围的索引值返回空字符串。
}
}
二十三、取绝对值
public class p1425 {
public static void main(String[] args) {
int b = 50,d = 10;
int f = d - b;
int value = Math.abs(f);
System.out.println(value);
}
}
二十四、保留小数点后几位
public class p5706 {
public static void main(String[] args) {
double t = 500.0, n = 3;
double a = t / n;
String s = String.format("%.3f", a); //f前是几,就是保留几位数字 a为该数字
System.out.println("每个同学可以获得的饮料数:" + s);
System.out.println(String.format("%.1f", e));
}
}
// Math.sqrt() 计算平方根
//Math.cbrt() 计算立方根
//Math.hypot(x,y) 计算(x的平方 + y的平方)的平方根
//Math.pow(a,b) 计算a的b次方
//Math.abs(a) 求绝对值
//Math.ceil() 向上取整
//Math.floor() 向下取整
//Math.round() 四舍五入
DecimalFormat df = new DecimalFormat("#0.0"); //. 后边几个零,就是几位小数
System.out.print(df.format(sum1/flag1)+" "+df.format((sum-sum1)/(n-flag1)));
二十五、Java中BigInteger方法总结
BigInteger不是基本数据类型之一,它其实更像String,是Java里的一个类,然而它的初始化方式却没有String那么方便可以直接赋值,而是跟其他自定义的类一样,要调用它的构造器进行初始化。这个类的取值范围原则上是没有上限的,取决于你的计算机的内存
二十六、Java中字符串中子串的查找共有四种方法(indexof())
indexOf 方法返回一个整数值,指出 String 对象内子字符串的开始位置。如果没有找到子字符串,则返回-1。
如果startindex 是负数,则 startindex 被当作零。如果它比最大的字符位置索引还大,则它被当作最大的可能索引。
Java中字符串中子串的查找共有四种方法,如下:
1、int indexOf(String str) :返回第一次出现的指定子字符串在此字符串中的索引。
2、int indexOf(String str, int startIndex):从指定的索引处开始,返回第一次出现的指定子字符串在此字符串中的索引。
3、int lastIndexOf(String str) :返回在此字符串中最右边出现的指定子字符串的索引。
4、int lastIndexOf(String str, int startIndex) :从指定的索引处开始向后搜索,返回在此字符串中最后一次出现的指定子字符串的索引。
public class Person {
publicstatic void main(String[] args) {
Stringstring="dccgcfacggx";//返回第一次出现的指定子字符串在此字符串中的索引。System.out.println(string.indexOf("c"));
System.out.println(string.lastIndexOf("g",8));
//结果:8 }}
//结果:1
//如果没有找到子字符串,则返回-1System.out.println(string.indexOf("z"));
//结果:-1
//从指定的索引处开始,返回第一次出现的指定子字符串在此字符串中的索引。System.out.println(string.indexOf("c",3));
//结果:4
//返回在此字符串中最右边出现的指定子字符串的索引。System.out.println(string.lastIndexOf("g"));
//结果:9
//从指定的索引处开始向后搜索,返回在此字符串中最后一次出现的指定子字符串的索引。
Scanner rd = new Scanner(System.in);
String s = rd.next();
for (int i=0;i<s.length();i++){
System.out.println(s.charAt(i));
}