JAVA语言程序设计2(第一章:常用类)

复习:

  1.  环境搭建:jdk -》 dos窗口,输入 javac 和 java指令, 安装之后,配置环境:java_home、path、classpath
  2. java程序:class -> 类
  3. 包:package , 编译:javac -d . 文件名.java 运行:java 包名.类名
  4. 编码规范:变量+方法:第一个单词首字母小写,其余单词首字母大写 类:每个单词首字母大写 常量:全大写 包名:全小写
  5. 分支结构:if分支 + switch...case分支(了解)
  6. 循环结构:for循环[重点]、while循环|do..while循环
  7. 函数:被 方法 替换
  8. 数组:应用底层设计,通常使用集合
  9. 面向对象和三大特性(封装、继承、多态:子类型的对象存储在父类型的引用中)
  10. 三个修饰符(abstract、final、static)
  11. 接口:关键字:interface
  12. 内部类:lambda表达式

 一、Object类

1. Object:位于 java.lang包中,是所有类的父类(直接父类或是间接父类)

(1) Object类型的引用可以 存储任意类型的对象,体现多态的应用

(2) Object中定义的方法,所有类都可以使用(访问权限允许) 

2. 常见的方法:

(1) getClass():返回引用中实际存储的对象类型

(2) int hashCode():返回哈希码值 注意:不同的对象返回不同的哈希码值

(3) boolean equals(Object obj):判断两个对象的内容是否相等,相等-true;不等-false

(4) String toString():返回对象的字符串形式

二、包装类

1. 包装类:基本数据类型对应的类成为包装类(位于java.lang包中)

2. 基本数据类型对应的包装类:

基本数据类型包装类型
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
charCharacter
booleanBoolean

3. 数据类型之间的转换

// 基本数据类型 -》 包装类型

        int a = 36;

        Integer i2 = new Integer(a);

        System.out.println(i2);

        Integer i3=Integer.valueOf(a);

        System.out.println(i3);

        /* public static Integer valueOf(int i) {

                      if (i >= -128 && i <= 127)

                                return IntegerCache.cache[i + (-IntegerCache.low)];

                      return new Integer(i);

             } * */

        // 包装类型 -> 基本数据类型

        int n = i2.intValue();

        System.out.println(n);

        // int -> String int a2 = 89;

        String str1 = a2+"";

        System.out.println(str1);

        System.out.println(a2+1); // 90

        System.out.println(str1+1); // 891

        // String -> int

        int n3 = Integer.parseInt("87a");

        System.out.println(n3);

        注意:String 转换为 int类型,转换的String需要为纯数字内容,否则运行时报错,错误信息为: java.lang.NumberFormatException(数字格式转换异常)

 4. 自动装箱和自动拆箱:基本数据类型和包装类型之间可以直接相互转换的

5. 包装类通常可以区分有效数据和无效数据,例如:0和null

三、String类

1. 获取字符串的方式

(1) String str1 = "hello";

        这种获取字符串的方式,在串池中完成字符串对象的创建,有-不再创建

(2) String str2 = new String("world");

        这种获取字符串的方式,先在堆空间中创建一个字符串对象,再查看字符串串池中是否存在该对象,存在-无需创 建,不存在-再次创建

字符串:由一个或是多个字符组成,用双引号引起来,底层为 字符数组进行存储(char[] value),具有下标,默 认从0开始,依次为1、2、3、.....

2. 常见的方法: 

String str = "Hello";

         // 根据下标获取对应字符

         // 指定合理的下标范围,否则:java.lang.StringIndexOutOfBoundsException

        char c = str.charAt(2);

        System.out.println(c);

        System.out.println(str.length());

        // 遍历字符串

       for(int i=0;i<str.length();i++){

                System.out.println(str.charAt(i));

        }

        System.out.println(str.indexOf("elle"));// 获取字符在当前字符串出现的第一个字符下标, 没有,返回-1

        System.out.println(str.contains("ell"));//判断指定字符串是否在当前字符串中存在

        System.out.println(str.toLowerCase()); // 大写- >小写

         System.out.println(str.toUpperCase()); // 小写-》大写

        System.out.println(str.startsWith("he"));// 判断是否以xx开头

        System.out.println(str.endsWith("o"));// 判断是否以xx结尾

       String str2 = " he llo";

        System.out.println(str2);

        System.out.println(str2.trim()); // 去除前后空格

        String str1 = new String("Hello");

        String str2 = new String("hello");

        System.out.println(str1 == str2);

        System.out.println(str1.equals(str2));// 判断字符串内容

        System.out.println(str1.equalsIgnoreCase(str2));// 判断字符串内容,忽略大小写

        String str = "hello-world-java";

        String[] strs = str.split("-");

         for(int i=0;i<strs.length;i++){

                System.out.println(strs[i]);

        }

        String str3 = "he89weHfyfs9gguFYFYFY";

        // 统计以上字符串中大写字母的个数,并打印输出

        int count = 0;

        for(int i=0;i='A' && c<='Z'){

                if(c >='A' && c<='Z'){

                        count++

                }

        }

        System.out.println(count);

3. 不可变性:String字符串是常量,创建之后不可改变;字符串字面值存储在串池中,可以共享

4. 可变长的字符串:

StringBuffer:可变长字符串,JDK1.0,线程安全,运行效率慢。

StringBuilder:可变长字符串,JDK5.0,线程不安全,运行效率快。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值