学习java的第17天
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天相关推荐
- 黑马程序员 一步一步往上爬 学习毕老师java视频第17,18,19天
---------------------- <a href="http://edu.csdn.net/heima" target="blank"> ...
- Java架构师笔记-你必须掌握学习Java需要掌握哪些技能
闲来无事,师长一向不(没)喜(有)欢(钱)凑热闹,倒不如趁着这时候复盘复盘.而写这篇文章的目的是想总结一下自己这么多年来使用java的一些心得体会,希望可以给大家一些经验,能让大家更好学习和使用Jav ...
- 大学学了java可以做点什么_学习Java的,大学毕业一般从事些什么工作?
展开全部 我这是拷贝的,62616964757a686964616fe59b9ee7ad9431333332643361不过也就差不多了,说实话,java的东西太多了.还是要到工作的时候慢慢用的,学好 ...
- 学习Java需要达到的25个目标
本文将告诉你学习Java需要达到的25个目标希望能够对你的学习及找工作有所帮助.对比一下自己你已经掌握了这25条中的多少 条了呢? 1.你需要精通面向对象分析与设计(OOA/OOD).涉及模式(GOF ...
- 学习 Java 8 - 函数式接口 Lambda
学习 Java 8 - 函数式接口 Java 8 引入了函数式接口的概念.函数式接口其实就是只包含一个抽象方法的普通 Java 接口.在没有引入函数式接口之前,我们通常使用内部类和匿名类来实现类似的功 ...
- 除了《深入理解 Java 虚拟机》,还可以看怎么系统学习 Java 虚拟机?
作为一名优秀的 Java 开发程序员,以及想那些想要学习 Java 更深层一点的知识的同学,对 JVM 的熟悉与熟练使用是必不可缺的核心技能了,也是每个 Java 程序员应该要做到的. 深入学习 JV ...
- 学习java 的30个目标
1.你需要精通面向对象分析与设计(OOA/OOD).涉及模式(GOF,J2EEDP)以及综合模式.你应该十分了解UML,尤其是class,object,interaction以及statediagra ...
- 学习Java的三十三个建议
学习Java的三十三个建议 1把Java当成一门新的语言学习(和C++差别很大,真的,我觉得和Delphi的Object Pas cal反而更像一点): 2看<Thinking in Java& ...
- java编程学习方法_在线学习Java编程的最佳方法
java编程学习方法 1.简介 Java是使用最广泛的编程语言之一. 根据Github的最新报告 ,Java被列为仅次于JavaScript的第二大最常用的编程语言. 掌握Java的人有很多话题. 好 ...
最新文章
- 并发编程(九)—— Java 并发队列 BlockingQueue 实现之 LinkedBlockingQueue 源码分析...
- moss得log文件不断增长的解决办法
- spark的python开发安装方式_python 安装spark_Spark环境搭建 (Python)
- win10系统U盘启动
- python yield from yield_python yield和yield from用法总结详解
python yield和yield from用法总结...
- HP Instant Information
- jboss7 关闭日志打印_使用自定义日志记录处理程序在JBoss AS 7中跟踪SQL语句
- pythonsearch结果_python 查询Elasticsearch的小例子
- Java分布式锁看这篇就够了,java基础面试笔试题
- Oracle导入程序Imp的使用详解
- 28muduo_net库源码分析(四)
- 智能优化算法:蝙蝠算法-附代码
- JavaScript打开新窗口的方法
- STM32F205时钟配置
- 有了HTML5,Flash还能走多远
- DirectX 3D Mesh类
- 软件测试组长要做的事情,测试组长的工作计划(共10篇).docx
- [BZOJ5336]-[TJOI2018]游园会-dp套dp
- 用c# 实现一个爬虫
- 【办公自动化】“一键”生成国土空间规划CAD标准图层
热门文章
- px自动转换成vw,vh
- 让Android自带的Gallery实现多点缩放,拖动和边界回弹效果,效果流畅
- t检验自由度的意义_两独立t检验的自由度为n-2()
- 保险基本概念测试人员须知(一)
- esxi 内核 linux,大娃套小娃系列-ESXI虚拟机安装Debian系统实现Docker容器
- 【opencv学习笔记】030 之 凸包之Graham扫描法与Jarvis步进法详解
- 上海交通大学学生生存手册_给学生的生存技巧
- 解决公众号网页 微信免登录 重定向 地址 只能带一个参数问题
- Mysql 为什么默认定义varchar(255) 而不是varchar(256)
- /(^\s*)|(\s*$)/g