Java基础 String类 static关键字

本文介绍了Java中String类的基本特性和常用方法,包括构造方法、内容比较、字符串操作等。同时,深入讲解了static关键字的作用,如静态变量、静态方法和静态代码块,并给出了相关实践练习。
摘要由CSDN通过智能技术生成

1字符串特点:内容永不可变  是一个常量,可以共享使用。

2常见的3+1种方法:3种构造方法 1public String()2public String(char[ ] array)

                                                      3puiblic String(byte[ ] array) 

                                 1直接创建(从字符串常量池种调出使用)

3字符串内容比较 :“abc”equals(str)推荐将常量写在前面,变量写在括号里

                                equalsIgnoreCase  比较时将不区分大小写

4字符串获取的相关方法1 int length()  获取字符串长度

                                      2String concat(String str): 将当前字符串和参数字符串拼接,

                                                                                  返回值为新字符串

                                      3char charat(int index):获取执行索引位置的单个字符

                                      4int indexOf:查找一个字符串在原字符串中出现的索引位置

5字符串截取方法:1substring(int index)(左闭右开) 2substring(int begin,int end)

6字符串的转换 :1chars【】 to CharArray  2 get bytes 3 repalce(old , new)

7字符串的分割;1 String[ ] split(String regex"以哪个字符作为分割") 注:regex是正则表达式

                                如果按照英文句点"."是不能用来切分的,必须写成"\\."才可以

练习1将数组{1,2,3}转换为【word1#word2#word3】

/*定义一个方法  将数组{1,2,3}转换成【word1#word2#word3】的形式*/
public class Demo06StringPractice {
    public static void main(String[] args) {
        int[] array={1,2,3};
        String result=fromArrayToString(array);
        System.out.println(result);
    }
    public static String fromArrayToString(int[] array){
        String str="[";
        for (int i = 0; i < array.length; i++) {
            if(i==array.length-1){
                str+="word"+array[i]+"]";
            }else{
                str+="word"+array[i]+"#";
            };
        }
        return str;
    }
}

练习2 找出字符串中大写、小写、数字、其他符号、个数

import java.util.Scanner;

/*键盘输入一个字符串,统计其中大写字母 小写字母 数字  以及其他的个数*/
public class Demo07StringCount {

    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入字符串");
        String input=sc.next();

        int countUpper=0;
        int countLower=0;
        int countNumber=0;
        int countElse=0;

        char[] chararray=input.toCharArray();//将字符串转换成字符串组
        for (int i = 0; i < chararray.length; i++) {
            char ch=chararray[i];
            if(ch>='A'&&ch<='Z'){
                countUpper++;
            }else if(ch>='a'&&ch<='z'){
                countLower++;
            }else if(ch>='0'&&ch<='9'){
                countNumber++;
            }else{
                countElse++;
            }
        }
        System.out.println("大写数字个数为"+countUpper);
        System.out.println("小写字母个数为"+countLower);
        System.out.println("数字个数为"+countNumber);
        System.out.println("其他字符个数为"+countElse);
    }
}

8静态static关键字:1方法区中会有一个“静态区”,用于存放static变量(根据类名称访问静态变量时

                                        过程中和所有对象都没关系,只和类有关系)

                                2static成员变量:写在类中的数据  不在属于各个对象,而是所有对象共享

                                3static成员方法:不属于变量,而属于类。可以通过类名称.方法名直接调用

                                 4注意;静态方法不能访问非静态;静态方法中不能用this关键字

9静态代码块:1第一次使用类时 使用且只使用一次

                        2静态内容总是优先于非静态 所以静态代码快优先于构造方法执行

10Arrays  API用法:1 Arrays.toString()将数组按照默认格式变为字符串

                                        2 Arrays.sort():按升序对数组进行排序(数字,字母,汉字,类*)

                                                *对类进行升序的话需要有comparable或comparator接口支持

练习3 将随机字符串正序排列之后倒序打印

import java.util.Arrays;

/*对一串随机字符串进行升序排列 并倒序打印*/
public class Demo09ArraysPractice {
    public static void main(String[] args) {
        String str="jAk21hsdfJK3K1saJHK";
        char[] chars = str.toCharArray();
        Arrays.sort(chars);

        for (int i = chars.length - 1; i >= 0; i--) {
            System.out.print(chars[i]);
        }
        }
    }

11数学工具类Math:1Math.abs:绝对值   3Math.ceil向上取整   4Math.floor向下取整

                                 4Math.round:四舍五入

练习4

/*计算-10.8到5.9之间绝对值大于6和小于2.1的整数有多少个*/
public class Demo10MathPractice {
    public static void main(String[] args) {
        double min=-10.8;
        double max=5.9;
        double min2=Math.ceil(min);
        int count=0;

        for(double i=min2;i<5.9;i++){
            double zhengshuabs=Math.abs(i);
            if (zhengshuabs>6||zhengshuabs<2.1){
                count++;
            }
            System.out.println(zhengshuabs);
        }
        System.out.println("符合条件的整数有"+count+"个");
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值