变量、基本数据、String

本文介绍了Java编程中的变量概念、数据类型、声明与使用,包括变量命名规则、基本数据类型及其包装类,以及键入类Scanner的使用。还详细讲解了字符串操作,如String对象、StringBuffer高效修改和StringJoiner的运用。

一、变量

1.变量三要素

变量名、变量类型、变量的值

数据类型  变量名  =  内存空间存的数值(变量值);

2.变量的声明及使用

①声明    int num; //根据数据类型在内存申请空间
②赋值    num=1000;//将数据存储至对应的内存空间
合并:   int num=1000;
③使用    System.out.print(num);//取出数据使用

3.变量命名规则及规范

(1)可以使用英文,下划线_,美元符$,数字【不可以当作首字母】
不可以使用关键字
(2)camel命名法(变量名):首单词的首字母小写,其余单词的首字母大写,yourName
pascal命名法(类名):每个单词的首字母都大写,YourName

4.成员变量和局部变量

1.位置不同,作用域不同
2.默认值不同
3.成员变量不能同名,不同范围的局部变量可以重名,成员变量和局部变量可以重名
4.局部变量优先于成员变量
5.如果成员变量和局部变量同名时,想在方法里调用成员变量的时候使用this.成员变量,this表示当前类的实例(对象)

二、键入类

import java.util.Scanner   导包ALT+ENTER
Scanner  scanner = new Scanner(System.in);
scanner.next();//接收连续的字符串
scanner.nextInt();//接收整数
scanner.nextDouble();//接收小数
scanner.nextLine();//接收全部字符串,包括空格,enter结束

//取位数值
int custNo = scanner.nextInt();
int gewei = custNo%10;  //个位
int shiwei = custNo/100%10; //十位
int qianwei = custNo/1000%10;//百位
int nwei = custNo/10n-1次方%10;//n位

三、基本数据类型

1.数据类型

在这里插入图片描述

public class PrimitiveTypeTest {  
    public static void main(String[] args) {  
        // byte  
        System.out.println("基本类型:byte 二进制位数:" + Byte.SIZE);  
        System.out.println("包装类:java.lang.Byte");  
        System.out.println("最小值:Byte.MIN_VALUE=" + Byte.MIN_VALUE);  
        System.out.println("最大值:Byte.MAX_VALUE=" + Byte.MAX_VALUE);  
        System.out.println();  
  
        // short  
        System.out.println("基本类型:short 二进制位数:" + Short.SIZE);  
        System.out.println("包装类:java.lang.Short");  
        System.out.println("最小值:Short.MIN_VALUE=" + Short.MIN_VALUE);  
        System.out.println("最大值:Short.MAX_VALUE=" + Short.MAX_VALUE);  
        System.out.println();  
  
        // int  
        System.out.println("基本类型:int 二进制位数:" + Integer.SIZE);  
        System.out.println("包装类:java.lang.Integer");  
        System.out.println("最小值:Integer.MIN_VALUE=" + Integer.MIN_VALUE);  
        System.out.println("最大值:Integer.MAX_VALUE=" + Integer.MAX_VALUE);  
        System.out.println();  
  
        // long  
        System.out.println("基本类型:long 二进制位数:" + Long.SIZE);  
        System.out.println("包装类:java.lang.Long");  
        System.out.println("最小值:Long.MIN_VALUE=" + Long.MIN_VALUE);  
        System.out.println("最大值:Long.MAX_VALUE=" + Long.MAX_VALUE);  
        System.out.println();  
  
        // float  
        System.out.println("基本类型:float 二进制位数:" + Float.SIZE);  
        System.out.println("包装类:java.lang.Float");  
        System.out.println("最小值:Float.MIN_VALUE=" + Float.MIN_VALUE);  
        System.out.println("最大值:Float.MAX_VALUE=" + Float.MAX_VALUE);  
        System.out.println();  
  
        // double  
        System.out.println("基本类型:double 二进制位数:" + Double.SIZE);  
        System.out.println("包装类:java.lang.Double");  
        System.out.println("最小值:Double.MIN_VALUE=" + Double.MIN_VALUE);  
        System.out.println("最大值:Double.MAX_VALUE=" + Double.MAX_VALUE);  
        System.out.println();  
  
        // char  
        System.out.println("基本类型:char 二进制位数:" + Character.SIZE);  
        System.out.println("包装类:java.lang.Character");  
        // 以数值形式而不是字符形式将Character.MIN_VALUE输出到控制台  
        System.out.println("最小值:Character.MIN_VALUE="  
                + (int) Character.MIN_VALUE);  
        // 以数值形式而不是字符形式将Character.MAX_VALUE输出到控制台  
        System.out.println("最大值:Character.MAX_VALUE="  
                + (int) Character.MAX_VALUE);  
    }  
}  

运行结果:

基本类型:byte 二进制位数:8
包装类:java.lang.Byte
最小值:Byte.MIN_VALUE=-128
最大值:Byte.MAX_VALUE=127

基本类型:short 二进制位数:16
包装类:java.lang.Short
最小值:Short.MIN_VALUE=-32768
最大值:Short.MAX_VALUE=32767

基本类型:int 二进制位数:32
包装类:java.lang.Integer
最小值:Integer.MIN_VALUE=-2147483648
最大值:Integer.MAX_VALUE=2147483647

基本类型:long 二进制位数:64
包装类:java.lang.Long
最小值:Long.MIN_VALUE=-9223372036854775808
最大值:Long.MAX_VALUE=9223372036854775807

基本类型:float 二进制位数:32
包装类:java.lang.Float
最小值:Float.MIN_VALUE=1.4E-45
最大值:Float.MAX_VALUE=3.4028235E38

基本类型:double 二进制位数:64
包装类:java.lang.Double
最小值:Double.MIN_VALUE=4.9E-324
最大值:Double.MAX_VALUE=1.7976931348623157E308

基本类型:char 二进制位数:16
包装类:java.lang.Character
最小值:Character.MIN_VALUE=0
最大值:Character.MAX_VALUE=65535

2.自动类型转换

第一种情况:如果计算的表示式里有double类型 ,则整个表达式的结果一定是double类型
第二种情况:类型要属于一个大类的,目标类型大于源类型(等号左边的类型大于等号右边的类型)

3.强制类型转换

(强制转换的类型)表达式 
条件:转换的数据类型必须是兼容的。

ASCII表

四、引用数据类型String

String(字符串)【引用类型】默认值:null 说明:存储一串字符""

1.使用String对象存储字符串

String类位于java.lang包中,系统默认导包
String s="HolloWorld";
String s=new String();
String s=new String("HolloWorld");

2.String的方法

String的方法不会影响自身

1.length(); 字符串的长度,空格也算字符长度,'\'解释为一个转义符,'\t'转义t还是一个字符长度
    public int length(){return value.length;}
2.equals( ); 比较存储在两个字符串对象的内容是否一致 
3.equalsIgnoreCase(); 英文忽略大小写
4.toLowerCase(); 英文全部小写
5.toUpperCase(); 
英文全部大写
6.concat(); 连接符
7.indexOf(int ch);
  indexOf(String value);
  搜索第一个出现的字符ch或(字符串value),如果没有找到字符或字符串,则返回-1
8. lastIndexOf(int ch);
   lastIndexOf(String value);
   
搜索最后一个出现的字符ch(或字符串value), 如果没有找到字符或字符串,则返回-1
 9.trim(); 返回一个前后不含任何空格的调用字符串的副本,中间的空格不能去掉
 10.substring(int index); 提取从位置索引开始的字符串部分,包含开始位置的数据

 11.substring(int beginindex,int endindex);
 提取beginindex和endindex之间的字符串部分,
 范围:开始位置的数据和结束位置前一个的数据
 beginindex: 字符串的位置从0开始算;endindex: 字符串的位置从1开始算 
 12.split();  将一个字符串分割为子字符串,结果作为字符串数组返回

3.StringBuffer类

String增强版
对字符串频繁修改(如字符串连接)时,使用StringBuffer类可以大大提高程序执行效率
在这里插入图片描述

gc

public void gc()运行垃圾回收器。调用此方法意味着 Java 虚拟机做了一些努力来回收未用对象,以便能够快速地重用这些对象当前占用的内存。当控制从方法调用中返回时,虚拟机已经尽最大努力回收了所有丢弃的对象。
名称 gc 代表“垃圾回收器”。虚拟机根据需要在单独的线程中自动执行回收过程,甚至不用显式调用 gc 方法。
方法 System.gc() 是调用此方法的一种传统而便捷的方式。

4.StringBuffer类的方法

StringBuffer的方法可以改变自身的值
因为StringBuff是Java已经写好的类
Java在底层对他做了一些特殊处理
打印对象不是地址值而是属性值

append();StringBuffer的尾部追加字符串
toString();StringBuffer转换成String类型
intsert(插入的位置,插入的内容);插入的位置:在下标的位置
reverse();将内容反转

5.equals()和==的比较

基本数据类型:比的是数据值
引用数据类型:比的是地址值

6.扩展StringJoiner

  • StringJoiner跟StringBuffer一样,可以看成一个容器,创建之后里面的内容 是可变的
  • 作用:提高字符串的操作效率
  • JDK8出现的

(1)构造方法

在这里插入图片描述

(2)成员方法

在这里插入图片描述

(3)代码示意

//创建一个对象,并指定中间的间隔符号
StringJoiner stringJoiner=new StringJoiner("---");
//添加元素
stringJoiner.add("123").add("123").add("123");
//打印元素
System.out.println(stringJoiner);
------结果:
123---123---123
//创建一个对象,并指定中间的间隔符号
StringJoiner stringJoiner01=new StringJoiner(",","[","]");
//添加元素
stringJoiner01.add("aaa").add("bbb").add("ccc");
//字符长度:所有字符的长度
int len=stringJoiner01.length();
System.out.println("字符长度"+len);
//将stringJoiner转换成字符串
String str=stringJoiner01.toString();
System.out.println(str);
//打印元素
System.out.println(stringJoiner01);
--------结果:
字符长度13
[aaa,bbb,ccc]
[aaa,bbb,ccc]

7.字符串原理

①等号右边没有变量

在这里插入图片描述

②等号右边有变量

一个加号,堆内存中两个对象

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值