包装类、数组、string类浅析及练习
String s1 = "abc";
String s2 = "abc";
System.out.println(s1==s2); //返回true string s1=‘abc’ string s2=‘abc’ string的值是存储于常量池里边的,当给string赋值的时候回先到常量池寻找是否有相同的值。 String s3 = new String("abc");
String s4 = new String("abc");
System.out.println(s3==s4); //返回false System.out.println(s3.equals(s4))//返回true
基础类型数据存储于栈空间 引用类型数据存储于堆空间
string s1=‘abc’ string s2=‘abc’ string的值是存储于常量池里边的,当给string赋值的时候回先到常量池寻找是否有相同的值。
equals方法: String里的equals方法重写了object对象里的equals方法
String里的equals方法第一步也是会判断地址值是否相等,相等返回true ,不相等再去判断里面的值是否相等。

str.length 返回整个字符串的长度。
str.trim 去掉字符串两边的空格
str.trim.length 返回整个字符串的长度
str.charAt(); 取出字符串中指定索引位置的字符
str.contains(CharSequence s); 当此字符串包含指定的 char 值时,返回 true。
str.startWith(String s); 判断字符串是否以括号中的字符串开始
str.endWith(String s); 判断字符串是否以括号中的字符串结束
replace(char o, char n); 将指定的字符替换掉指定的字符
replace(CharSequence o, CharSequence n); 将指定的字符串替换掉指定的字符串
split(String s); 将字符串分割成字符串
toUpperCase(); 将字符串转换成大写
toLowerCase(); 将字符串转换成小写
valueOf(any args);
str.indexOf(String s); 返回指定子字符串在此字符串中第一次出现处的索引。
str.lastIndexOf(String s);返回指定子字符串在此字符串中最后一次出现处的索引。
str.substring(int i); 返回一个新的字符串,它是此字符串的一个子字符串
str.substring(int a, int b); str.substring( int beginIndex, int endIndex)
package com.test;
public class lianxi {
public static void main(String[] args) {
String str = "像勇士这样的球队,只有防守一松懈,他们才能抓住机会,"
+ "打完了三场,爵士还是没找到应对勇士的办法";
//"球队","机会"
System.out.println(str.indexOf("球队"));
System.out.println(str.indexOf("机会"));
System.out.println(str.lastIndexOf("勇士"));
int m = str.indexOf("球队") + str.indexOf("机会") + str.lastIndexOf("勇士");
System.out.println(m);
System.out.println((char)m);
System.out.println(str.split(",")[4]);
String[] newstr = str.split(""); //用空字符串将这一段话分割成多个以每一个字为一个字符串的数组。
String temp = "";
for (int i = 0; i < newstr.length; i++) {
if(newstr[i].equals("勇")) {
newstr[i] = "爵";
} else if(newstr[i].equals("爵")) {
newstr[i] = "勇";
}
temp+=newstr[i];
}
System.out.println(temp);
//勇士抓住机会,找到应对办法
System.out.print(str.substring(str.indexOf("勇士"),str.indexOf("勇士")+2));
System.out.print(str.substring(str.indexOf("抓住机会"),str.indexOf("抓住机会")+4));
System.out.print(str.substring(str.indexOf(","),str.indexOf(",")+1));
System.out.print(str.substring(str.indexOf("找到应对"),str.indexOf("找到应对")+4));
System.out.print(str.substring(str.indexOf("办法"),str.indexOf("办法")+2));
System.out.println();
String qqEmail = "123@qq.com";
System.out.println(qqEmail.substring(0,qqEmail.indexOf("@")));
//增强for循环
public class ForArray
{
public static void main(String[] args)
{
int[] arr = {1,2,3,4,5,6,7}; for(int a:arr)
{
System.out.print(a);
}
}
}
/*
for (循环变量类型 循环变量名称 : 要被遍历的对象) 循环体
例子中,
1.arr就是为 要被遍历的对象,可以是数组,集合
2.循环变量类型就是这个arr数组的数据类型,即int
3.循环变量名称就是a,这个可以自己定义
*/
包装类:
Integer.parseInt();
byte---Byte
short---Short
int---Integer
long---Long
float---Float
double---Double
boolean---Boolean
char---Character
System.out.println(Integer.MAX_VALUE);
System.out.println(Byte.MIN_VALUE);
System.out.println(Byte.MAX_VALUE);
System.out.println(Long.MIN_VALUE);
System.out.println(Long.MAX_VALUE);
System.out.println(Short.MIN_VALUE);
System.out.println(Short.MAX_VALUE);
System.out.println(Float.MIN_VALUE);
System.out.println(Float.MAX_VALUE);
System.out.println(Double.MIN_VALUE);
System.out.println(Double.MAX_VALUE);
//空心正方形(进入for循环先判断i的值,如果i的值在1~7之间而且j=0或者7的时候,那么打印出除了第一行与最后一行的※,当i=1或7的时候第一行跟最后一行的※都打印出来)
/*for( int i=0; i<8; i++){
if(i>0&&i<7){ //先判断 i的值是否在1-7这个区间,
for(int j=0;j<8;j++){
if(j==0||j==7){
System.out.print("*"+" ");}
else{
System.out.print(" "+" ");}
}
}else{
for( int l=0; l<8;l++){
System.out.print("*"+" ");
}
}System.out.println();
}*/ //输出空心菱形。
for( int i=4; i<7; i++){
for( int j=8;j>0;j--){
if(j==i||j==8-i){
System.out.print("*");
}else{
System.out.print(" ");
}
}System.out.println();
}
for( int i=1; i<5; i++){
for( int j=8;j>0;j--){
if(j==i||j==8-i){
System.out.print("*");
}else{
System.out.print(" ");
}
}System.out.println();
} //实心菱形
for( int i=4; i>0; i--){ //菱形的上半部分是随着i值得变动输出的*越来越多,所以i值应该是自减
for( int j=0;j<8;j++){
if(j>i&&j<8-i){
System.out.print("*");
}else{
System.out.print(" ");
}
}System.out.println();
}
for( int i=0; i<4; i++){
for( int j=0;j<8;j++){
if(j>i&&j<8-i){
System.out.print("*");
}else{
System.out.print(" ");
}
}System.out.println();
} }
包装类、数组、string类浅析及练习的更多相关文章
- Java基本数据类型、包装类与String类之间的转换
一.基本数据类型与包装类之间的转换: import org.junit.Test; public class MainTest { /** * 基本数据类型与包装类之间的转换 */ @Test pub ...
- Java.lang 包 (包装类、String类、Math类、Class类、Object类)
Java 的核心 API(Application Programming Interface)是非常庞大的,这给开发者带来了很大的方便. java.lang 包是 Java 的核心类库,它包含了运行 ...
- JAVASE(十二) Java常用类: 包装类、String类、StringBuffer类、时间日期API、其他类
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 1.包装类 1 .1 八个包装类 1. 2 基本数据类型,包装类,String者之间的转换 2. ...
- java常用类,包装类,String类的理解和创建对象以及StringBuilder和StringBuffer之间的区别联系
一.包装类的分类: 1.黄色部分的父类为Number 继承关系: Boolean Character 其他六个基本数据类型 2.装箱和拆箱 理解:一个例子,其他的都相同 装箱:Integer inte ...
- Codeforces Round #442 A Alex and broken contest【字符串/常量数组/string类】
A. Alex and broken contest time limit per test 2 seconds memory limit per test 256 megabytes input s ...
- 【面试题】String类、包装类的不可变性
不可变类的意思是创建该类的实例后,该实例的实例变量是不可改变的.Java提供的8个包装类和String类都是不可变类.因此String和8个包装类都具有不可变性. 就拿String类来说,通过阅读St ...
- Java中字符数组、String类、StringBuffer三者的相互转换
一.StringBuffer与String的相互转换 1.将StringBuffer转换成String StringBuffer类成员toString函数可将其转换成String类型. StringB ...
- 包装类、基本数据类型及String类之间的相互转换
包装类:8种基本数据类型对应一个类,此类即为包装类 一.基本数据类型 包装类 及String之间的转换 1.基本数据类型转化为包装类:调用包装类的构造器 int i=10; Inte ...
- Java——String类
body, table{font-family: 微软雅黑; font-size: 10pt} table{border-collapse: collapse; border: solid gray; ...
随机推荐
- 项目管理之 Objective-C 编码规范
目录: 一.格式化代码 二.命名 命名要求 1. 类的命名: 规则: 大驼峰命名法,每个单词的首字母都采用大写字母.一般添加业务前缀.后缀一般是当前类的种类. ViewController:后缀:Vi ...
- stat命令
- Android依赖管理与私服搭建
在Android开发中,一个项目需要依赖许多的库,我们自己写的,第三方的等等,这篇文件介绍的就是自己搭建私服,创建自己的仓库,进行对我们自己写的库依赖管理.本文是在 mac book pro 环境上搭 ...
- 分布式锁2 Java非常用技术方案探讨之ZooKeeper
前言: 由于在平时的工作中,线上服务器是分布式多台部署的,经常会面临解决分布式场景下数据一致性的问题,那么就要利用分布式锁来解决这些问题.以自己结合实际工作中的一些经验和网上看到的一些资料 ...
- shiro不重启动态加载权限
最近一朋友让我帮他做一个后台权限管理的项目.我就在我原来的项目加加改改但是还是不理想,查了不少资料也走了不了弯路...... shiro基本的配置我就不多说了这个很简单自己查查资料就完成----下面是 ...
- sql导出
第一步: 要求:把Library里面的Readers表导出到MyDB中(注意:读者编号.设置了主键)
- Java中的向上造型和向下造型等
package com.study.oop.day01; /** * 如果某个方法是静态 的,它的行为就不具有多态性 * @author LuHongGang * @date 2017年6月5日 ...
- python中文字符串编码问题
接口测试的时候,发现接口返回内容是uncodie类型但是包含中文.在使用print进行打印时输出提示错误: UnicodeEncodeError: 'ascii' codec can't encode ...
- shared_ptr注意点
1.原始指针不能直接使用赋值运算符对shared_ptr进行赋值运算 std::shared_ptr<int> p; p= ); //error p.reset(); //success ...
- CommonsChunkPlugin并不是分离第三方库的好办法(DllPlugin科学利用浏览器缓存)
webpack算是个磨人的小妖精了.之前一直站在glup阵营,使用browserify打包,发现webpack已经火到爆炸,深怕被社区遗落,赶紧拿起来把玩一下.本来只想玩一下的.尝试打包了以后,就想启 ...