黑马程序员-JAVA笔记2

(一)命名风格
1. 命名不能以下划线开始,也不能以下划线结束。
2. 命名严禁使用拼音与英文混合的方式,更不允许使用中文。
但是:alibaba / taobao hangzhou 等国际通用的名称,可视同英文。
3. 类名使用 大驼峰风格,必须遵从驼峰形式。即每个单词首字母大写。类名如果有复数含义,类名可以使用复数形式。
4. 方法名、参数名、成员变量、局部变量用小驼峰风格,必须遵从驼峰形式。即首单词首字母小写,后面单词首字母大写。
5. 常量命名全部大写,单词之间用下划线隔开,要词义准确。
————————————————
版权声明:本文为CSDN博主「听风客1」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/2401_83010439/article/details/141128548

/* \t制表符 把前面字符串的长度补齐到8,或者8的整数倍
      二进制0b
      八进制0
      十六进制0x
   */
//如果要定义long类型的变量,需要在最后加一个L后缀
//定于float类型变量,需要在最后加一个F
//boolean 布尔类型
//小数参与计算有可能不精确

//隐式转换:取值范围小的转换为取值范围大的    强制转换:取值范围大的转换为取值范围小的
// byte<short<int<long<float<double
// byte short char 三种数据在运算时,都会先升成int再运算
//强制转换:目标数据类型 变量名 = (目标数据类型)被强转的数据;
//ASCII码 'a' = 97
// int a =10;
// System.out.println(a++);
// System.out.println(++a);
// +=  -=底层都隐藏一个强制类型转换
//System.out.println(true);
//短路运算符&& || 可提高效率
//三元运算符 a>b ? a:b;
//运算符优先级 小括号优先于所有
//for循环:知道循环的次数或者循环的范围
//while循环:不知循环次数和范围 只知道循环的结束条件

//方法重载:同一个类中,方法名相同,参数不同的方法,与返回值无关(不看返回值)
//参数不同:个数不同、类型不同、顺序不同    不在一个类里的方法、不构成重载

//Random r = new Random();
//int number = r.nextInt(100); //生成0-99
//若要生成7-15  即0-8 即尾部为8+1=9   再加上首部即可
//int number = r.nextInt(9)+7;
//System.out.println(number);

//成员变量  局部变量  就近原则
//空参构造与带参构造都很重要    有很大的应用场景
//空参构造可以用于键盘录入   带参构造可以用于创建对象时直接输入参数
//空参构造  如果没有写无参构造 系统会自动生成一个无参构造
//带参构造   如果定义了构造方法,系统将不再提供默认的构造方法

//键盘录入
//第一套体系
//nextInt() 接入整数
//nextDouble() 接入小数
//next()  接收字符串
//遇到空格 制表符 回车就停止接收

//第二套体系
//nextLine() 接受字符串
//可以接收空格 制表符 遇到回车停止接收
//键盘录入的两套体系是不能混用的 先用nextInt() 再用nextLine() 会导致后面接收不到数据
       

//1.使用直接赋值的方法,获取一个字符串对象
//        String s1 = "Hello, World!";
//        System.out.println(s1);


        //2.使用new的方法获取一个字符串对象
        //空参构造,可以获取一个空白的字符串对象
//        String s2 = new String();
//        System.out.println(s2);


        //3.传递一个字符数组,根据字符数组的内容再创建一个新的字符串对象
//        char []chs = {'a','b','c'};
//        String s3 = new String(chs);
//        System.out.println(s3);


        //4.传递一个字节数组,根据字节数组的内容再创建一个新的字符串对象
//        byte []byts ={97};
//        String s4 = new String(byts);
//        System.out.println(s4);

        //5.字符串的比较
        //基本数据类型比较的是数据值
        //引用数据类型比较的是地址值  new出来

        //以下是比较字符串的内容
        //boolean equals() 完全一样结果才是true
        //boolean equalsIgnoreCase()  忽略大小写的比较

遍历字符串的快捷键:

//遍历字符串
//str.lenrth().fori

截取字符串的方法:

//string substring(int beginIndex, int endindex)截取
        //注意点:包头不包尾,包左不包右
        //只有返回值才是截取的小串
        //String substring(int beginlndex)
        //截取到末尾
        String phoneNumber = "13045182582";
        String start=phoneNumber.substring(0,3);
        String end=phoneNumber.substring(7);

        String result=start+"****"+end;
        System.out.println(result);

//String replace(旧值,新值)替换
//注意点:只有返回值才是替换之后的结果

StringBuilder方法:

//public StringBuilder()
        //public StringBuilder(String str)

        //public StringBuilder append(任意类型)
        //public StringBuilder reverse()
        //public int length()
        //public String toString()

        //因为stringBuilder是Java已经写好的类java在底层对他做了一些特殊处理。打印对象不是地址值而是属性值。
        StringBuilder sb = new StringBuilder("abc");
        //System.out.println(sb);
        sb.reverse();
        int len = sb.length();

        System.out.println(sb);
        System.out.println(len);

StringBuilder的用法

public class StringDemo14 {
    public static void main(String[] args) {

        //需求:定义一个方法,把 int数组中的数据按照指定的格式拼接成一个字符串返回调用该方法,并在控制台输出结果。
        //例如:数组为int [] arr={1,2,3};
        //执行方法后的输出结果为:[1,2,3]

        int []arr = {1,2,3,4,5,6};
        String result = arrToString(arr);
        System.out.println(result);



    }

    public static String arrToString(int []arr){
        StringBuilder sb = new StringBuilder();
        sb.append("[");
        for(int i=0;i<arr.length;i++){
            if(i==arr.length-1){
                sb.append(arr[i]);
            }else{
                sb.append(arr[i]+",");
            }


        }

        return sb.append("]").toString();

    }

}

StringJoiner方法及用法:

import java.util.StringJoiner;

public class StringDemo15 {
    public static void main(String[] args) {
        //public Stringjoiner (间隔符号)
        //public StringJoiner(间隔符号,开始符号,结束符号)
        //public StringJoiner add (添加的内容)
        //public int length()
        //public String toString(
        //添加数据,并返回对象本身
        //返回长度(字符出现的个数)
        //返回一个字符串(该字符串就是拼接之后的结果)
        StringJoiner sj = new StringJoiner(", ","[","]");
        sj.add("aaa").add("bbb").add("ccc").add("ddd");
        String result = sj.toString();
        System.out.println(result);





    }

}

集合和数组的对比

集合和数组的对比:
1.数组长度固定,可以存基本数据类型,可以存引用数据类型
2.集合长度可变,可以存引用数据类型,基本数据类型- 包装类

//1.创建集合的对象
//泛型:限定集合中存储数据的类型
//ArrayList<string>list =new ArrayList<string>();//JDK7:
//此时我们创建的是ArrayList的对象,而ArrayList是java已经写好的一个类
//这个类在底层做了一些处理
//打印对象不是地址值,而是集合中存储数据内容
//在展示的时候会拿[]把所有的数据进行包裹

//基本数据类型所对应的包装类
基本数据类型对应的包装类
byte         Byte
short        Short
char         Character
int          Integer
long         Long
float        Float
double       Double
boolean      Boolean

import java.util.ArrayList;

public class Demo {
    public static void main(String[] args) {

        //增
        //boolean add(E e)

        //删
        //boolean remove(E e)
        //E remove(int index)

        //改
        //E set(int index,E e)

        //查
        //E get(int index)
        //int size()
        ArrayList<String> list = new ArrayList<>();
        list.add("aaa");
        list.add("bbb");
        list.add("ccc");
        list.add("ddd");
        list.add("eee");
//        list.remove("aaa");
//        list.remove(0);
//        list.set(0, "eee");
//        String result=list.get(0);
//        System.out.println(result);
//        int result=list.size();
//        System.out.println(result);
        for (int i = 0; i < list.size(); i++) {
            String str = list.get(i);
            System.out.println(str);

        }






    }
}

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值