前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >2.JAVA-基础语法以及String的介绍

2.JAVA-基础语法以及String的介绍

作者头像
诺谦
发布2019-05-24 20:37:29
3610
发布2019-05-24 20:37:29
举报
文章被收录于专栏:Linux驱动Linux驱动

1.goto和const

目前java中,和C/C++有点区别,就是暂未用到goto const关键字.示例如下:

代码语言:javascript
复制
public class Hello{

                  public static void main(String args[]){
                  const int i =100;
                  goto FINAL;

FINAL:

                  System.out.println("final");

                  }

}

编译报错:

2.数据划分

  • java中分为两大类型:基本数据类型,引用数据类型
  • 对于基本数据类型,在方法体内对参数进行重新赋值,不会改变原有变量的值
  • 对于引用数据类型,在方法体内对参数进行重新赋值,可以改变原有变量的值,但是如果从新new分配的话,并不会改变原有变量所持有的引用
  • 在方法中对于对象的属性值进行修改,则可以改变原有变量所指向对象的属性值

3.基本数据类型

  • 在java中,基本数据类型的变量都存在
  • 在java中,布尔型是为boolean,和C++有所不同,而不是bool.
  • 在java中,char是2字节的,主要是java内部使用unicode(utf-16)的,所以java支持中文变量名.
  • 在java中,新增了一个byte数据类型.位于-128~127.如下图所示.
  • 在java中,一般对于小数都使用double.

注意:在java中,对于boolean赋值非true/false时,是会报错的,和C++是有区别的,示例如下:

代码语言:javascript
复制
  boolean b=5;
  System.out.println("5:"+b);

报错:

4.引用数据类型

可以引用数组,类,接口等,和基本数据不同,这个需要通过new由用户来开辟空间的.如果不赋值则为null

比如java中的String,就是个类,如果想用到这个类,则需要引用类.

java中的String,可以通过+进行字符串连接(而QT中的QString是不能的)

示例:

代码语言:javascript
复制
String  str=new String("123");               //通过new String在堆空间生成一个对象,然后使str引用这个对象
str = str +"45"+6+7.1;
System.out.println(str);                    //打印:1234567.1

4.1 String注意事项

在java中,String是字符串常量,永远都是指向的常量,比如:

代码语言:javascript
复制
String  str=new String("123");      
str = str +"45"+6+7.1;      //实际上相当于:string str =new String("1234567.1");

为什么说String是字符串常量?可以看看下面的String引用传递示例:

代码语言:javascript
复制
public class Test{

                  public static void main(String args[]){
                  String str1=new String("123");
                  String str2=str1;     //引用str1是str2的别名
                  str1 +="456";        //因为String是字符串常量,所以需要重新使str1 =new String("123456");
                                       //而str2还是指向之前的"123"处

                  System.out.println("str1:"+str1);
                  System.out.println("str2:"+str2);
                  }
}

运行打印:

如上图所示,可以看到修改str1后,str2的值并没有跟着改变.

总结

所以,String在更改内容时,会不断的创建并回收之前的对象,速度是很慢的,适用于少数字符串操作

4.2 StringBuffer

StringBuffer和String类似, 都是存储字符串,但是StringBuffer存储的则是字符串变量

为什么说StringBuffer是字符串变量?可以看看下面的StringBuffer引用传递示例:

代码语言:javascript
复制
public class Test{
                  public static void main(String args[]){

                  StringBuffer a = new StringBuffer("123");
                  StringBuffer b = a;               //引用b是a的别名

                  b.append("456");
                  System.out.println("a:"+a);
                  System.out.println("b:"+b);
                  }
}

运行打印:

如上图所示,可以看到修改b后,a的值也跟着改变.

总结

字符缓冲区在进行大量操作的情况下,使用StringBuffer合适.

下章学习:3.JAVA-方法重载,类的封装,构造/析构方法

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-04-27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档