String类

*目录:1.String对象的初始化
2.基本类型 引用类型
3.字符串的比较
4.字符串的长度
5.分割字符串
6.substring()方法提取字符串中的“子串”
7.java.until.Arrays是一子数组相关的工具类,里面提供了大量的静态方法
8.取绝对值 向上取整 向下取整
9.static修饰关键字
10.static修饰成员方法
**
1.String 对象的初始化
String是比较特殊的数据类型,它不属于基本类型数据类型,但是可以和使用基本数据类型一样直接赋值;通常不使用new运算符进行实例化,但也可以像其他类型一样使用new运算符进行实例化,下面代码都是合法的:
String s1=“abc”;
String s2=new String(“abc”);
实际操作代码
package demo01;
/

  • 常用方法
  • String类代表字符串。java程序中的所有字符串字面值(如"abc")都作为此类的实例实现
  • 就是说"abc" 都是String类的对象
  • 字符串的特点:
  • 1.字符串的内容不可变(重点)
  • 2.字符串是可以共享使用
    3.字符串效果上是相当于一份char [] 但实际底层储存byte[]
    3种创建字符串的方式
    1.public String() 创建一个空白的字符串,不包含任何内容
    *2.public string(char[] array ) 根据子非鱼数组来创建字符串
    *3.public string (byte[] array) 根据字节数组来创建字符串

*直接方法
*String str=“class5”;
*/
public class Demo01String {
public static void main(String[] args) {
String str1=new String();//小括号留空,没有内容
System.out.println(“第一个字符串:”+str1);
System.out.println("======");
char[] chararray= {‘a’,‘b’,‘c’,‘d’};

 System.out.println(chararray);String str2=new String(chararray);System.out.println( str2);System.out.println("======");byte[] bytearray= {97,98,99};System.out.println(bytearray);String str3=new String(bytearray);System.out.println( str3);//string str4=newString str4="class5";//用的最多的创建方式方式System.out.println( str4);
}

}
运算结果:

2.基本类型 引用类型
*package demo01;
/

*
*

  • int a=5
  • int b=6
  • 对于基本类型==比较的是指
  • 对于引用类型==比较的地址值

*/
public class Demo02StringPool {
public static void main(String[] args) {
String str1=“abc”;
String str2=“abc”;
char[] chararray= {‘a’,‘b’,‘c’};
String str3=new String(chararray);

System.out.println(str1==str2);//第一个何第二个的地址是一样的
System.out.println(str1==str3);
System.out.println(str2==str3);str2="cde";System.out.println(str2);



运算结果:

****3.字符串的比较
package demo02;
/*字符串的比较 *

  • public boolaen equal(objetc obj) *
  • 说明一下, * equal(区分大小写的) *
  • 1.这个方法具有对称性(20 22) a.equla(b) b.equal(b) *
  • 建议写成这种方式"Hello".equals(str1) * *
  • /
  • public class Demo02StringEquals {
  • public static void main(String[] args) { String str1=“Hello”;
  • String str2=“Hello”;
  • char[] chararray= {‘H’,‘e’,‘l’,‘l’,‘o’};
  • String str3=new String(chararray); System.out.println(str1.equals(str2)); System.out.println(str2.equals(str3)); System.out.println(str1.equals(str3)); System.out.println(str1.equals(“Hello”)); //具有对称性 System.out.println(“Hello”.equals(str1)); System.out.println("======");
  • String str4=null; //System.out.println(str4.equals(“Hello”)); System.out.println(“Hello”.equals(str4)); System.out.println("======");
  • String str5=“hello”; System.out.println(“Hello”.equals(str5)); System.out.println("======"); System.out.println(“Hello”.equalsIgnoreCase(str5));
  • }
  • }
  • 运行结果:

  • 4.字符串长度
    package demo02;

public class Demo02StringGet {
public static void main(String[] args) {
//字符串长度
int length=“agegbagfdyhhdhdb”.length();
System.out.println(“字符串长度”+length);
//2.字符串拼接
String str1=“Hello”;
String str2=“class5”;
String str3=str1.concat(str2);
System.out.println(str1);//Hello
System.out.println(str2);//class5"
System.out.println(str3);//Helloclass5 重新创建了一个字符,并不是在原来字符串上进行修改的

 //3.获得指定搜索位置的单个字符char ch="Hello".charAt(4);System.out.println("0号搜索位置的字符是:"+ch);//查找某个字符串第一次出现的位置String origan1="Helloworld";int index=origan1.indexOf("llo");System.out.println(index);System.out.println(origan1.indexOf("class"));}

}
运行结果:

5.分割字符串
package demo02;
/*

  • 分割字符串
  • public string[] split (String)
    */
    public class Demo02StringSplit {
    public static void main(String[] args) {
    String str1=“aaa,bbb,ccc”;
    String [] array1=str1.split(",");
    for(int i=0;i<array1.length;i++) {//打印
    System.out.println(array1[i]);
    }
    }

}
运行结果:

6.substring()方法提取字符串中的“子串”
package demo02;
/*

  • public string substring (index)
  • public string substring (int begin , int end)

*/
public class Demo03SubString {
public static void main(String[] args) {

 String str1="HelloClass5";String str2=str1.substring(5);System.out.println(str1);System.out.println(str2);String str3=str1.substring(2,5);System.out.println(str3);}

}
运行结果:

**7. java.until.Arrays是一个字数组相关的工具类,里面提供了大量的静态方法
**
package demo03;

import java.util.Arrays;

/*

  • java.util.Arrays 是一个宇数组相关的工具类,里面提供了大量的静态方法

*备注:
*如果是数值,默认按升序列 从小到大
*
*如果是字符串,按字符进行升序
*/
public class demo03Arrays {
public static void main(String[] args) {
int[] intArray= {10,20,30};//int形数组
System.out.println(intArray);

 String intStr=Arrays.toString(intArray);System.out.println(intStr);//排序int[] array1= {3,3,5,7,9,3,5,6};System.out.println(Arrays.toString(array1));Arrays.sort(array1);//对数组进行排序System.out.println(Arrays.toString(array1));String[] array2= {"ccc","mmm","ggg"};Arrays.sort(array2);System.out.println(Arrays.toString(array2));
}

}
运行结果:

8.取绝对值
向上取整
向下取整

package demo03;

public class demo03Math {
public static void main(String[] args) {
//取绝对值
System.out.println(Math.abs(3.14));
System.out.println(Math.abs(0));
System.out.println(Math.abs(-3.14));
System.out.println("=====");

 //向上取整System.out.println(Math.ceil(3.91)); System.out.println(Math.ceil(3.5));System.out.println(Math.ceil(3.0001));System.out.println("=====");//向下取整System.out.println(Math.floor(3.91)); System.out.println(Math.floor(3.5));System.out.println(Math.floor(3.0001));System.out.println("=====");System.out.println(Math.round(20.4));System.out.println(Math.round(20.5));}

}
运行结果:

9.static修饰关键字
package demo04;
/*

  • 如果一个成员变量static 关键字修饰,那么这个变量不属于对象,而属于所在类,多个对象共享同一份数据
    */
    public class Demo04StaticFiled {
    public static void main(String[] args) {
    Student one =new Student(“鹿晗”,31);
    one.setRoom(“3306教室”);

     System.out.println(one.getName()+"  "+one.getAge()+"  "+one.getRoom());Student two=new Student("黄蓉",16);//并没有设施黄蓉的教室System.out.println(two.getName()+" "+two.getAge()+" "+two.getRoom());
    

    }

}
运行结果:

10.static修饰成员方法
package demo04;
/*

  • 如果用static修饰成员方法,变成了静态方法,静态方法不属于对象,属于类

  • 可以通过对象来调用

  • 也可以通过类直接调用
    */
    public class demo04StaticMethod {
    public static void main(String[] args) {

     MyClass obj=new MyClass();obj.method();//普通方法,必须通过对象类调用 obj.methodStatic();//可以通过对象来调用 正确不推荐MyClass.methodStatic();//通过类直接调用  正确推荐
    

    }

}
运行结果:
package demo04;

public class MyClass {
int num;
static int numstatic;
public void method() {
System.out.println(“这是成员方法”);
}
public static void methodStatic() {
System.out.println(“这是静态方法”);

}

}
package demo04;

public class Student {
private int id;
private String name;
private int age;

private static String room;/*** @return id*/
public int getId() {return id;
}/*** @param id 要设置的 id*/
public void setId(int id) {this.id = id;
}/*** @return name*/
public String getName() {return name;
}/*** @param name 要设置的 name*/
public void setName(String name) {this.name = name;
}/*** @return age*/
public int getAge() {return age;
}/*** @param age 要设置的 age*/
public void setAge(int age) {this.age = age;
}/*** @return room*/
public static String getRoom() {return room;
}/*** @param room 要设置的 room*/
public static void setRoom(String room) {Student.room = room;
}/*** @param name* @param age*/
public Student(String name, int age) {super();this.name = name;this.age = age;
}/*** */
public Student() {super();// TODO 自动生成的构造函数存根
}

}

学习java的第17天相关推荐

  1. 黑马程序员 一步一步往上爬 学习毕老师java视频第17,18,19天

    ---------------------- <a href="http://edu.csdn.net/heima" target="blank"> ...

  2. Java架构师笔记-你必须掌握学习Java需要掌握哪些技能

    闲来无事,师长一向不(没)喜(有)欢(钱)凑热闹,倒不如趁着这时候复盘复盘.而写这篇文章的目的是想总结一下自己这么多年来使用java的一些心得体会,希望可以给大家一些经验,能让大家更好学习和使用Jav ...

  3. 大学学了java可以做点什么_学习Java的,大学毕业一般从事些什么工作?

    展开全部 我这是拷贝的,62616964757a686964616fe59b9ee7ad9431333332643361不过也就差不多了,说实话,java的东西太多了.还是要到工作的时候慢慢用的,学好 ...

  4. 学习Java需要达到的25个目标

    本文将告诉你学习Java需要达到的25个目标希望能够对你的学习及找工作有所帮助.对比一下自己你已经掌握了这25条中的多少 条了呢? 1.你需要精通面向对象分析与设计(OOA/OOD).涉及模式(GOF ...

  5. 学习 Java 8 - 函数式接口 Lambda

    学习 Java 8 - 函数式接口 Java 8 引入了函数式接口的概念.函数式接口其实就是只包含一个抽象方法的普通 Java 接口.在没有引入函数式接口之前,我们通常使用内部类和匿名类来实现类似的功 ...

  6. 除了《深入理解 Java 虚拟机》,还可以看怎么系统学习 Java 虚拟机?

    作为一名优秀的 Java 开发程序员,以及想那些想要学习 Java 更深层一点的知识的同学,对 JVM 的熟悉与熟练使用是必不可缺的核心技能了,也是每个 Java 程序员应该要做到的. 深入学习 JV ...

  7. 学习java 的30个目标

    1.你需要精通面向对象分析与设计(OOA/OOD).涉及模式(GOF,J2EEDP)以及综合模式.你应该十分了解UML,尤其是class,object,interaction以及statediagra ...

  8. 学习Java的三十三个建议

    学习Java的三十三个建议 1把Java当成一门新的语言学习(和C++差别很大,真的,我觉得和Delphi的Object Pas cal反而更像一点): 2看<Thinking in Java& ...

  9. java编程学习方法_在线学习Java编程的最佳方法

    java编程学习方法 1.简介 Java是使用最广泛的编程语言之一. 根据Github的最新报告 ,Java被列为仅次于JavaScript的第二大最常用的编程语言. 掌握Java的人有很多话题. 好 ...

最新文章

  1. 并发编程(九)—— Java 并发队列 BlockingQueue 实现之 LinkedBlockingQueue 源码分析...
  2. moss得log文件不断增长的解决办法
  3. spark的python开发安装方式_python 安装spark_Spark环境搭建 (Python)
  4. win10系统U盘启动
  5. python yield from yield_python yield和yield from用法总结详解 python yield和yield from用法总结...
  6. HP Instant Information
  7. jboss7 关闭日志打印_使用自定义日志记录处理程序在JBoss AS 7中跟踪SQL语句
  8. pythonsearch结果_python 查询Elasticsearch的小例子
  9. Java分布式锁看这篇就够了,java基础面试笔试题
  10. Oracle导入程序Imp的使用详解
  11. 28muduo_net库源码分析(四)
  12. 智能优化算法:蝙蝠算法-附代码
  13. JavaScript打开新窗口的方法
  14. STM32F205时钟配置
  15. 有了HTML5,Flash还能走多远
  16. DirectX 3D Mesh类
  17. 软件测试组长要做的事情,测试组长的工作计划(共10篇).docx
  18. [BZOJ5336]-[TJOI2018]游园会-dp套dp
  19. 用c# 实现一个爬虫
  20. 【办公自动化】“一键”生成国土空间规划CAD标准图层

热门文章

  1. px自动转换成vw,vh
  2. 让Android自带的Gallery实现多点缩放,拖动和边界回弹效果,效果流畅
  3. t检验自由度的意义_两独立t检验的自由度为n-2()
  4. 保险基本概念测试人员须知(一)
  5. esxi 内核 linux,大娃套小娃系列-ESXI虚拟机安装Debian系统实现Docker容器
  6. 【opencv学习笔记】030 之 凸包之Graham扫描法与Jarvis步进法详解
  7. 上海交通大学学生生存手册_给学生的生存技巧
  8. 解决公众号网页 微信免登录 重定向 地址 只能带一个参数问题
  9. Mysql 为什么默认定义varchar(255) 而不是varchar(256)
  10. /(^\s*)|(\s*$)/g