Java常用小知识

一.size(),length和length()的区别

1.length不是方法,是属性,数组的属性;

public static void main(String[] args) {
    int[] intArray = {1,2,3,4,5,6};
    System.out.println("这个数组的长度为:" + intArray.length);
}

2.length()是字符串String的一个方法;

public static void main(String[] args) {
    String str = "HelloWorld";
    System.out.println("这个字符串的长度为:" + str.length());
}

3.size()是List集合的一个方法;

public static void main(String[] args) {
    List<String> list = new ArrayList<String>();
    list.add("a");
    list.add("b");
    list.add("c");
    list.add("d");
    System.out.println("这个list的长度为:" + list.size());//输出4
}

二.charAt()方法

public class Test {
    public static void main(String args[]) {
        String s = "www.runoob.com";
        char result = s.charAt(6);
        System.out.println(result);//输出n
    }
}

返回值

---返回指定索引处的字符。

三.数据类型转换

1.int转成String

1)String s = String.valueOf(i);

2)String s = Integer.toString(i);

3)String s = "" + i;

public class String1{
    public static void main(String args[]){
        int i = 25;
        String s1 = String.valueOf(i);
        String s2 = Integer.toString(i);
        String s3 = ""+i;
        System.out.println(s1+"\n"+s2+"\n"+s3+"\n");
    }
}

2.String转成数组

public class String1{
    public static void main(String args[]){
        String str = "sfoaefd";
        char[] arr = str.toCharArray();
    }
}

四.char[] arr与char arr[]的区别

        在 Java 中,char[] arrchar arr[] 都表示一个字符数组,但是它们的写法略有不同。

        1)char[] arr 是推荐的写法,将数组类型标识符 [] 放在变量名后面,这是 Java 定义数组类型的标准方式。

        2)char arr[] 是另一种合法的写法,它将数组类型标识符 [] 放在变量名前面。这种写法在 C/C++ 中是允许的,但在 Java 中是不太常见的写法。

在 Java 中建议使用 char[] arr 的语法来声明字符数组。

两种写法都可以用来声明字符数组,但在 Java 中,char[] arr 更常见,也更推荐使用。

五.Java Character toLowerCase()用法及代码示例

Character类的toLowerCase() 方法将字符串转换为小写

public class Test {
    public static void main(String args[]) {
        String Str = new String("HHOFOAWio");
        System.out.println( Str.toLowerCase());
        //或者
        char[] nmu = Str.toCharArray();
        for(int i = 0; i<nmu.length;i++){
            nmu[i] = Character.toLowerCase(nmu[i]);
        }
        System.out.println(nmu);
    }
}
 

//输出

hhofoawio

hhofoawio

六.Math类的方法

1.ceil向上取整

2.floor向下取整

3.round四舍五入

public class MathTest {
    public static void main(String[] args) {
        double x = 1.2;
        double y = 2.5;
        double z = 3.7;
        System.out.println("向上取整:" + Math.ceil(x)+" "+Math.ceil(y)+" "+Math.ceil(z));
        System.out.println("向下取整:" + Math.floor(x)+" "+Math.floor(y)+" "+Math.floor(z));
        System.out.println("四舍五入:" + Math.round(x)+" "+Math.round(y)+" "+Math.round(z));
    }
}

//输出

向上取整:2.0 3.0 4.0

向下取整:1.0 2.0 3.0

四舍五入:1 3 4

4.round四舍五入保留小数点后两位

public class roundTest {
    public static void main(String[] args){
        double a = 2.5245;
        System.out.println(Math.round(a*100)*0.01);
    }
}

//输出

 2.52

**遇到的蓝桥杯问题(成绩分析编号【497】)

import java.util.Arrays;
import java.util.Scanner;

public class Test1 {
    public static void main(String[] args){
        Scanner scan = new Scanner(System.in);
        //在此输入您的代码...
        //考试人数
        int n = scan.nextInt();
        //平均分
        double num = 0;
        //数组存放得分
        int[] name = new int[n];
        for(int i = 0; i< n ;i++){
            name[i] = scan.nextInt();
            num = (num + name[i]);
        }
        Arrays.sort(name);
        System.out.println(name[name.length-1]);
        System.out.println(name[0]);

        System.out.println(Math.round(num*100/n)*0.01);
        //存在错误
        /**
         * 输入数据
         10
         43
         40
         79
         59
         37
         41
         31
         35
         39
         44
         输出数据
         79
         31
         44.800000000000004
         **/
        //正确的四舍五入保留两位小数
        System.out.println(String.format("%.2f",num/n));//这种方法只适用于转为字符串输出
    }
}

不太清楚为什么使用Math.round()方法会出现这种错误。

七.java切片

蓝桥杯编号(348)-回文日期

1.String字符串-

import java.util.Arrays;
public class Main {
    public static void main(String[] args) {
        String str = "Hello-World";
        System.out.println(str.substring(6));//World
        //str.substring(6,11)左闭右开
        System.out.println(str.substring(6,11));//World
        
        String[] strArr = str.split("-");//指定分割字符
        System.out.println(Arrays.toString(strArr));//[Hello, World]
        
        //replace(char searchChar, char newChar) 
//方法通过用 newChar 字符替换字符串中出现的所有 searchChar 字符,并返回替换后的新字符串
        System.out.println(str.replace("-"," "));//Hello World
    }
}

2.数组

import java.util.*;

public class Main {
    public static void main(String[] args) {
        String[] str = new String[]{"a","b","c","d","e"};
        //左闭右开
        str = Arrays.copyOfRange(str,1,4);
        System.out.println(Arrays.toString(str));//[b, c, d]

    }
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值