标准格式:
数据类型[] 数组名称 = new 数据类型[] {元素1,元素2,...};
省略格式:
数据类型[] 数组名称 = {元素1,元素2,...};

Scanner类实现的功能,可以实现键盘输入数据,到程序中

引用类型的一般使用步骤:
1、导包
import 包路径.类名称;
如果需要使用的目标类,和当前类位于同一个包下,则可以省略导包语句不写。
只有java.lang包下的内容不需要导包,其他的包都需要import语句。

2、创建
类名称 对象名 = new 类名称();

3、使用
对象名.成员方法名()

 /**
* java.lang.String类代表字符串
* API中说,Java程序中的所有字符串字面值(如“abc”)都作为此类的实例实现。
* 其实就是说,程序当中所有的双引号字符串,都是String类的对象。(即使没有new,也照样是)
*
* 字符串特点:
* 1、字符串的内容用不可变。
* 2、正是应为字符串不可改变,所以字符串是可以共享使用的。
* 3、字符串效果上相当于char[]字符数组,但是底层原理是byte[]字节数组。
*
* 创建字符串的常见3+1方式
* 三种构造方法:
* public String();创建一个空白字符串,不含有任何内容
* public String(char[] array);根据字符数组的内容,创建字符串
* public String(byte[] array);根据字节数组的内容,创建字符串
* 一种直接创建:
* String str = "Hello";
*
* 注意:直接写上双引号,就是字符串对象。
*/
public static void main(String[] args){
//使用空参数构造
String str1 = new String();
System.out.println("第一个字符串"+str1); //根据字符数组穿件字符串
char[] charArray = {'a','s','f'};
String str2 = new String(charArray);
System.out.println("第二个字符串"+str2); //根据字节数组创建
byte[] byteArray = {97,98,99};
String str3 = new String(byteArray);
System.out.println("第3个字符串"+str3); //直接创建
String str4 = "Helo";
System.out.println("第4个字符串" + str4);
}
 /**
* 字符串常量池:程序当中直接写上双引号的字符串,就在字符串常量池中。
*
* 对于基本类型来说, == 是就行数值的比较。
* 对于引用类型, == 是进行【地址值】的比较。
* @param args
*/
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);//true
System.out.println(str1 == str3);//false
System.out.println(str2 == str3);//false
}
 /**
* ==是进行对象的地址值比较,如果确实需要字符串的内容比较,可以使用两个方法
*
* public boolean equals(Object obj);参数可以是任意类型,只有参数是字符串且内容相同才返回true,否则返回false
* 注意事项:
* 1、任何对象都能用Object进行接收
* 2、equals方法具有对称性,即:q.equals(b)和b.equals(a)效果一样
* 3、如果比较双方一个常量一个变量,推荐把常量字符串写在前面
* 推荐:"abc".equals(str) 不推荐:str.equals("abc")
*
* public boolean equalsIgnoreCase(String str);忽略大小写,进行内容比较。
*/
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));//true
System.out.println(str2.equals(str2));//true
System.out.println(str3.equals("Hello"));//true
System.out.println("Hello".equals(str1));//true String str4 = "hello";
System.out.println(str1.equals(str4));//false
System.out.println("====================="); String str5 = "abc";
System.out.println("abc".equals(str5));//推荐,一旦str5=null,则返回false
System.out.println(str5.equals("abc"));//不推荐,一旦str5=null,则报错,空指针异常NullPointerException System.out.println("====================="); String strA = "Java";
String strB = "java";
System.out.println(strA.equals(strB));//false 严格区分大小写
System.out.println(strA.equalsIgnoreCase(strB));//true 忽略大小写 //注意:只有英文字母区分大小写,其他都不区分大小写
System.out.println("abc一123".equalsIgnoreCase("abc壹123"));//false
 /**
* String当中与获取相关的常用方法:
* public int length(); 获取字符串中字符个数,即长度。
* public String concat(String str);将当前字符串和参数字符串拼接,并返回新的字符串。
* public char charAt(int index);获取指定索引位置的字符串。
* public int indexOf(String str);查找参数字符串在本字符串当中首次出现的索引,如果没有,则返回-1。
*/
public class DemoStringGet{
public static void main(String[] args){
//获取字符串的长度
int length = "adfajdflkjaldfjlad".length();
System.out.println("字符串的长度是:" + length); //拼接字符串
String str1 = "Hello";
String str2 = "World";
String str3 = str1.concat(str2);
System.out.println(str1);
System.out.println(str2);
System.out.println(str3); System.out.println("======================");
//获取指定索引位置的单个字符
char ch = "Hello".charAt(1);
System.out.println("在索引位置1的字符是" + ch);
}
}
     /**
* 字符串的截取方法:
* public String substring(int index); 截取从参数位置一直到字符串末尾,返回新的字符串。
* public String substring(int begin, int end); 截取从begin开始,一直到end结束。
* 备注:[begin,end)包含左边,不包含右边
*/
public static void main(String[] args){
String str1 = "HelloWorld";
String str2 = str1.substring(5);
System.out.println(str1);//HelloWorld
System.out.println(str2);//World String str3 = str1.substring(4,7);
System.out.println(str3);
}

引入:

import java.util.Scanner;
 /**
* 计算键盘输入的各个字符出现的次数。
* 需要堆字符串一个字符一个字符检查,Stirng-->char[],方法是:toCharArray()
*
*/
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个字符串:");
String input = sc.next();//获取键盘输入字符串 int countUpper = 0;
int countLower = 0;
int countNumber = 0;
int countOther = 0; char[] charArray = input.toCharArray();
for (int i = 0; i < charArray.length; i++) {
char ch = charArray[i];//当前单个字符
if('A' <= ch && ch <= 'Z'){
countUpper ++;
}else if('z' <= ch && ch<= 'z'){
countLower ++;
}else if(0 <= ch && ch <= 9){
countNumber ++;
}else{
countOther ++;
}
}
System.out.println("大写字母个数:" + countUpper);
System.out.println("小写字母个数:" + countLower);
System.out.println("数字个数:" + countNumber);
System.out.println("其他个数:" + countOther);
}

java基础 String的更多相关文章

  1. Java基础String的方法

    Java基础String的方法 字符串类型写法格式如下: 格式一: String 变量名称; 变量名称=赋值(自定义或传入的变量值); 格式二: String 变量名称=赋值(自定义或传入的变量值); ...

  2. Java基础 String 裸暴力算法- 五个小练习

      之间的博客,承上启下:    Java基础 String/StringBuff 常用操作方法复习/内存分析 Java数组直接选择排序.sort()排序 Java基础 String 算法 - 五个练 ...

  3. Java基础—String构造方法

    Java基础--String构造方法 public String(): 创建一个空表字符串对象,不包含任何内容 public String(char[]chs): 根据字符数组的内容,来创建字符串对象 ...

  4. Java基础——String

    前言 从去年八月末开始工作一年了,有了大半年的java开发经验,自认为比在大学时期编码能力强了很多,但是基础方面概念模糊的地方感觉越来越多了 (:´д`)ゞ 所以,我准备把这些问题以及工作中遇到的问题 ...

  5. java基础-String不可变的好处

    一.java内部String类的实现: java 8: public final class String implements java.io.Serializable, Comparable< ...

  6. Java基础 -- String,StringBuilder,StringBuffer三者的区别

    结论 1-String,StringBuilder,StringBuffer 之间的区别主要是在两个方面,即运行速度和线程安全这两方面: 首先说运行速度,或者说是执行速度,在这方面运行速度快慢为:St ...

  7. Java基础—String总结

    特点 String不属于8种基本数据类型,String是一个对象. 因为对象的默认值是null,所以String的默认值也是null:但它又是一种特殊的对象,有其它对象没有的一些特性. String实 ...

  8. java基础——String的常用方法

    java中String的常用方法 1.length() 字符串的长度 例:char chars[]={'a','b'.'c'}; String s=new String(chars); i nt le ...

  9. Java基础 String/StringBuff/StringBuilder 常用操作方法复习/内存分析/三者的效率比较

    附:jdk1.8使用IDEA安装.创建.使用JUnit单元测试 笔记总结: /**String 复习 * 1.像C++这样的char arr[]="..." 的方式无法声明Java ...

随机推荐

  1. js svg转图片格式

      1.情景展示 闲来无事的时候,发现chrome扩展程序里面有图像,本想下载下来,却发现文件格式是svg格式,如何将svg文件改成图片格式? chrome-extension://jlgkpaici ...

  2. MySQL 是如何利用索引的

    阅读本文大概需要 4 分钟. 一.前言 在 MySQL 中进行 SQL 优化的时候,经常会在一些情况下,对 MySQL 能否利用索引有一些迷惑.例如: MySQL 在遇到范围查询条件的时候就停止匹配了 ...

  3. 冰多多团队-第二次scrum例会

    冰多多团队-第二次Scrum会议 会议基本情况 会议时间:4月8日 19:00 - 19:30 会议地点:新主楼F座2楼沙发休息处 工作情况 团队成员 已完成任务 待完成任务 zpj Service实 ...

  4. OO助教的退休感想

    深夜失眠+刚赶完火车的胡言乱语,切莫当真,择日修改 一年前,我在学姐的怂恿鼓励下,加上了吴老师的微信,表达了想担任下学期的OO助教的想法.三天后,我到新主楼参加OO助教的面试,其实还是蛮紧张的,毕竟自 ...

  5. docker 镜像制作(jupyter)

    docker pull centosdocker run -it -d --name test-centos1 centosdocker exec -it test-centos1 /bin/bash ...

  6. web3 编译部署调用合约

    //导入solc 编译器 let solc = require('solc') let fs = require('fs') //读取合约 let sourceCode = fs.readFileSy ...

  7. abd shell的相关命令

    http://adbshell.com/commands/adb-shell-pwd adb shell pwd adb shell rm -rf /sdcard/DCIM/

  8. Chrome禁用software_reporter_tool

    今天开机后,从几分钟到半个小时之间,感觉机器反应有些慢,发现CPU占用80-90%.查看任务管理器, 有一个 software_reporter_tool.exe 的程序占用了一半的CPU使用率. 转 ...

  9. QByteArray数据进行CRC32校验时产生的随机结果

    QT中使用QByteArray来存放了C++中的char数组. 两端使用相同的crc32进行校验,QT中却产生了随机的校验结果, C++端产生唯一的正确校验结果. 查看QByteArray相关资料,未 ...

  10. 重温RabbitMQ

    RabbitMQ是用Erlang语言实现的,它有几个概念broker:消息队列服务器实体exchange:消息交换机,它指定消息按什么规则,路由到哪个队列queue:消息队列,每个消息都会被投入到一个 ...