1.goto和const

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

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++是有区别的,示例如下:

  boolean b=5;System.out.println("5:"+b);

报错:

4.引用数据类型

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

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

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

示例:

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是字符串常量,永远都是指向的常量,比如:

String  str=new String("123");
str = str +"45"+6+7.1;      //实际上相当于:string str =new String("1234567.1");

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

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引用传递示例:

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-方法重载,类的封装,构造/析构方法

转载于:https://www.cnblogs.com/lifexy/p/10778461.html

2.JAVA-基础语法以及String的介绍相关推荐

  1. Java基础语法(九)——String类

    文章目录 Java基础语法(九)--String类 一.定义方式 二.内存 三.字符串比较相等 四.字符串常量池 (1) 直接赋值 (2)采用构造方法 (3)intern 的使用 五.理解字符串不可变 ...

  2. java基础语法入门到类型转换问题,运算符,数据输入,数组,方法概述,Debug模式,以及10个小案例的详细介绍。

    java基础语法 目录 java基础语法 1. Java概述 1.1 Java语言发展史(了解) 1.2 Java语言跨平台原理(理解) 1.3 JRE和JDK(记忆) 1.4 JDK的下载和安装(应 ...

  3. Java基础语法(数组)

    第4天 Java基础语法 今日内容介绍 u 流程控制语句(switch) u 数组 第1章 流程控制语句 1.1 选择结构switch switch 条件语句也是一种很常用的选择语句,它和if条件语句 ...

  4. Java基础语法(一)

    Java 简介 Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计语言和Java平台的总称.由James Gosling和同事们共同研发,并在1995年正式 ...

  5. Java基础语法-数据类型与idea配置

    文章目录 day02 - Java基础语法 1. 注释 使用的技巧 注意点 2. 关键字 2.1 概念 2.2 第一个关键字class 3. 字面量 区分技巧 4. 变量 4.1 什么是变量? 4.2 ...

  6. Java基础语法-环境搭建及入门

    1. Java概述 1.1 Java语言背景介绍(了解) 语言:人与人交流沟通的表达方式 计算机语言:人与计算机之间进行信息交流沟通的一种特殊语言 Java语言是美国Sun公司(Stanford Un ...

  7. Java基础语法知识你真的都会吗?

    第一阶段 JAVA基础知识 第二章 Java基础语法知识 在我们开始讲解程序之前,命名规范是我们不得不提的一个话题,虽说命名本应该是自由的,但是仍然有一定的"潜规则",通过你对命名 ...

  8. JAVA基础语法笔记(黑马程序员系列)

    1. Java概述 1.1 Java语言发展史(了解) 语言:人与人交流沟通的表达方式 计算机语言:人与计算机之间进行信息交流沟通的一种特殊语言 Java语言是美国Sun公司(Stanford Uni ...

  9. Java基础语法(三)——运算符

    文章目录 Java基础语法(三)--运算符 一.算术运算符 1.基本四则运算符 (1)练习 (2)注意事项 2.复合运算符 3.自增自减操作符 二.关系运算符 三.逻辑操作符 1.逻辑与&&a ...

  10. JAVA基础语法_1

    1. Java概述 1.1 Java语言背景介绍(了解) 语言:人与人交流沟通的表达方式 计算机语言:人与计算机之间进行信息交流沟通的一种特殊语言 Java语言是美国Sun公司(Stanford Un ...

最新文章

  1. 威斯康辛大学《机器学习导论》2020秋季课程完结,课件、视频资源已开放
  2. LaTeX 图片插入
  3. 【Web安全】利用burp抓包和CSRF伪造进入admin真实后台
  4. 很强大的一个jquery分页插件
  5. MySQL timediff()函数
  6. Navicat工具导出Mysql数据表结构到Excel文件中
  7. Elasticsearch实践(二)linux安装
  8. 程序员面试金典——18.13 最大字母矩阵
  9. HCIE Security 二层攻击防范 备考笔记(幕布)
  10. 在jquery中想要找到所以同辈元素方法_在jquery中siblings找到所有元素的同辈元素,是什么意思,有人可以给我详细讲解一下不?...
  11. 电子海图信息系统 (ECDIS)的发展及应用
  12. 缺少软件测试项目?最好试试这套方法
  13. 南方cass提取坐标生成表格_如何在CAD中或者CASS中将坐标导入到EXCEL表格(个人笔记)...
  14. 42pinQFN芯片焊接总结
  15. monetDb列式存储架构分析
  16. github之处理“忒修斯之船”问题
  17. 饮料自动售货机C++
  18. 如何在Debian系统下搭建SVN
  19. 15.模拟e^x的麦克劳林展开式
  20. Epson针式打印机打印十六进制内容解决方案

热门文章

  1. mysql查看执行计划任务_学习计划 mysql explain执行计划任务详解
  2. mysql批量删除进程_小程序批量删除云数据库里的数据
  3. java stream Interface BiFunction<T,U,R>
  4. mybatis SqlMapConfig.xml mappers
  5. Requests redirect
  6. 前端-requests-flask对应关系 form
  7. java 接口案例
  8. 3.1 神经网络概览
  9. java表达式语言种类_Java之语言控制语句
  10. python中的mul函数_Sympy:“Mul”对象没有分层函数的“cos”属性