数据类型

JAVA的数据类型

数据的类型分为两种:基本类型和应用类型。
基本类型就是默认的8种类型,比如int,long。
应用数据类型就是包括API中的类,比如String、File,也包括自己定义数据类型,还包括数组。

基本数据类型

基本数据类型的分3类:

-整形: byte, short, int, long
-浮点型:float, double
-字符型:char
-逻辑型/布尔型:boolean

基本数据类型的取值范围:

这里写图片描述

基本数据类型的类型转换:

-程序中经常会遇到要将数据类型进行转换的情况(如:在一个表达式中存在不同类型的操作数时),Java的数据类型转换比C控制得更为严格;
-数据类型转换有两种情况:
–自动类型转换:
—自动类型转换也称作隐式类型转换
—将一种类型的变量赋值给另一种类型的变量时,只要满足以下条件,就会发生自动类型转换
—两种类型之间相互兼容
—目标类型大于源类型(即类型提升)
—如:
char ch = ‘A’;
int num = ch;
float f = num;
double d = f;
//类型转换自动发生,无需显式说明
–强制类型转换:
—强制类型转换也称作显式类型转换
—如果被转换的值的数据类型大于其目标类型,将会丢失部分信息
—如:
int x = 65
char ch = x
–这样的语句将报错,因为char类型精度低于int类型,编译器无法—将其自动转换,只能进行强制转换
int x = 65;
char ch = (char)x;

基本数据类型的理解应用
基本数据类型的扩展:

–System.out.println(Integer.MAX_VALUE);//打印最大整–数:2147483647
—System.out.println(Integer.MIN_VALUE);//打印最小整—数:-2147483648
–相应的浮点数:
—System.out.println(Float.MAX_VALUE)
—System.out.println(Float.MIN_VALUE)
–双精度:
—System.out.println (Double.MAX_VALUE)
—System.out.println(Double.MIN_VALUE)

应用数据类型

引用数据类型的定义

-在Java中,除了上述基本数据类型的变量以外,其余的全都属于引用数据类型,包括
–API中的类,如String、File等
–数组(后续学习)
–自定义的类,如Cars、Student
–对象全部是引用数据类型

对象都是引用数据类型

-引用类型使用的场景与基本数据类型完全一样
–作为属性的类型使用
–作为方法的返回值类型使用
–作为方法的形式参数类型使用

引用类型使用new调用构造方法进行赋值

-引用类型都是对象,所以赋值都使用new调用构造方法进行赋值
–例外:String类可以直接使用=赋值,不使用new,后续详细学习

应用数据类型和基本数据类型的区别

这里写图片描述

基本数据类型赋值

-基本数据类型之间赋值,是将值进行拷贝
-例:int x=10;
int y=9;
x=y;

引用类型的赋值都是通过new调用构造方法

-例:Student stu1 = new Student(“Alice”,18);
Student stu2 = new Student((“John”,17);

引用类型之间赋值,是虚地址之间的赋值

-例:stu1=stu2; stu2赋值给stu1,指的是把stu2的虚地址赋值给stu1,也就是二者将指向同一个实际对象John

==运算

-在判断引用数据类型时判断的是地址,即虚地址一样才返回true
-在判断基本数据类型时判断的是数值,即二进制一样才返回true

==运算的讲解

-在判断引用数据类型时判断的是地址
-在判断基本数据类型时判断的是数值
-例如:
–String s = “abc”;
–String s2 = “abc”;
–String s1 =new String(“abc”);
–String s3 =new String(“abc”);
–System.out.println(s ==s2);//true
–System.out.println(s1 == s3);//false
–System.out.println(5==6);//false

String类

Java中,字符串是String类的对象
Java中,String是引用数据类型
可以通过使用String类提供的方法来完成对字符串的操作
创建一个字符串对象之后,将不能更改构成字符串的字符
每当更改了字符串版本时,就创建了一个新的字符串对象,并在其内包含所做的修改,原始字符串保持不变
String类的构造方法共有13种重载方式,以下是常用的几个:
这里写图片描述
String类的构造方法示例:
-public class StringDemo{
-public static void main(String[] args){
- char[] aryChar = {‘I’, ‘C’, ‘S’, ‘S’};
- String str1 = “ETC”;
- //利用一个字符串常量值创建新的字符串
- String str2 = new String(“ICSSETC”);
- //利用一个字符型数组创建新的字符串
-String str3 = new String(aryChar);
- System.out.println(str1);
- System.out.println(str2);
- System.out.println(str3);
-}}
String字符串长度:
-String类中提供length成员方法 ,用来获得字符串的长度,方法原型:int length()
-该方法返回字符串中有效字符的个数。例如:
–public class StringDemo{
–public static void main(String[] args){
–String str1 = “John Smith”;
– String str2 = new String(“I Love Java”);
–System.out.println(str1.length());
– System.out.println(str2.length());
–}}
String字符串比较
-要判断两个字符串是否相等,可以使用“==”运算符和equals()方法,但是得到的结果可能不完全相同(String覆盖了Object类的equals方法);
-==运算符用于比较两个引用是否指向同一个对象;
-而equals()方法则是比较两个字符串中的内容是否相同,其原型:
–boolean equals(Object anObject)
-字符串比较示例
–public class StringDemo {
– public static void main(String[] args) {
– String str1 = “ICSS”, str2 = “ICSS”;
–String str3 = new String(“ETC”), str4 = new –String(“ETC”);
– if (str1 == str2) {
– System.out.println(“str1和str2指向同一字符串”); }
– else {
–System.out.println(“str1和str2分别指向不同字符串”); }
–if (str1.equals(str2)) {
– System.out.println(“str1和str2的内容完全相同”); }
–else {
– System.out.println(“str1和str2的内容不相同”); }
– if (str3 == str4) {
– System.out.println(“str3和str4指向同一字符串”); }
–else {
–System.out.println(“str3和str4分别指向不同字符串”);}
– if (str3.equals(str4)) {
–System.out.println(“str3和str4的内容完全相同”);}
–else {
–System.out.println(“str3和str4的内容不相同”); }}}
- 字符串其它的比较方法
这里写图片描述
String字符串搜索
-如果需要搜索某个字符(或某个子串)在字符串中是否出现过,这就要使用到indexOf方法和lastIndexOf方法。
这里写图片描述
-字符串搜索示例
– public class StringDemo{
– public static void main(String[] args){
–String strEmail = “java@sun.com”;
–int index;
– System.out.println(“E-mail地址:” + strEmail);
– index = strEmail.indexOf(‘@’);
– System.out.println(“@字符出现的索引:” + index);
–index = strEmail.indexOf(“sun”);
–System.out.println(“字符串\”sun\”出现的索引:” + index);
– index = strEmail.lastIndexOf(‘a’);
– System.out.println(“a字符最后一次出现的索引:” + index); }}
-提取字符串
这里写图片描述
-提取字符串示例
–public class StringDemo{
–public static void main(String[] args) {
– String str1 = ” Java is OOP”;
– String str2 = new String(“icss”);
–System.out.println(str1.charAt(2));
– System.out.println(str1.substring(5));
– System.out.println(str1.substring(2, 9));
– System.out.println(str1.concat(str2));
– System.out.println(str1 + str2);
– System.out.println(str1.replace(‘a’, ‘e’));
–System.out.println(str1.trim());}}
- 更改字符串的大小写形式
–有时候,我们需要将字符串中字符的大小写形式进行转换。
这里写图片描述
-更改大小写形式示例
–public class StringDemo{
–public static void main(String[] args){
– String str1 = “Java is OOP”;
–String str2;
– str2 = str1.toLowerCase();
–System.out.println(str2);
–str2 = str1.toUpperCase();
– System.out.println(str2); }}
String特殊操作
-为了提高性能,JAVA在创建字符串时提供了有限制的池操作
–ublic static void main(String[] args){
–String str1=”123”;
–String str2=”123“;
–System.out.println(str1==str2);
–String str3=”234”;
–String str4=new String(“234”);
–System.out.println(str3==str4);}
数据格式转化
-在某些特定的场合,我们可能需要将字符串转化成其它格式的数据进行操作
这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值