Java SE 基础知识
常量:
常量是一种标识符,它的值在运行期间恒定不变,并且常量在程序中只能被引用,而不能被重新赋值。
常量的命名规则:
1.在 Java 中,在变量声明中加入 final 关键字代表常量,加入 static 关键字代表类变量。一般结合起来声明一个变量;
2.尽量使用含义直观的常量来表示那些将在程序中多次出现的数字或字符串;
public static final double PI = 3.1415926;
在 Java 接口中声明一个变量,编译时会自动加上 public static final 的修饰符,自动声明为全局变量,因而在 Java 中接口是存放常量的最佳地点。
变量:
Java 程序中最基本的存储单元,其要素包括变量名,变量类型和作用域;
每一个变量都属于特定的数据类型,在使用前必须对其声明;
从本质上讲,变量其实是内存中的一小块内存,使用变量名来访问这块区域;
因此,每一个变量在使用前必须要先申报(声明),然后必须进行赋值(填充内容),才能使用。
局部变量和成员变量:
局部变量:方法或语句块内部定义的变量
public void addData () {
int a = 10; // 变量 a 就是局部变量,在方法的大括号之外是无法使用 a 的。
}
成员变量:方法外部、类的内部定义的变量;
public class TestAdd{
static final int B = 10; // 变量 B 是成员变量,在整个类的内部都可以使用。
}
成员变量又可以分为:类变量和实例变量
类变量:又叫静态变量,用 static 修饰,它可以直接用类名调用,也可以用对象调用,而且所有对象的用一个类变量都是共享同一块内存空间。static final 变量必须在声明的时候初始化或者在 static 静态块里面初始化。
实例变量:不用 static 修饰,只能通过对象调用,而且所有对象的同一个实例变量是使用不同的内存空间。
注意:如果某个方法中的局部变量的名字与全局变量的名字相同,则该全局变量在这个方法中暂时失效。
逻辑型:
boolean 类型数据只允许取值 true 或 false,不能以 0 或非 0 的整数代替 true 和 false,并且一定要小写。
字符型:
char 在 java 中是 2 个字节,java 采用 unicode,2 个字节(16 位)来表示一个字符,而一个中文字符的 Unicode 就是 2 个字节。
注意:Java 中不推荐使用 char 类型存储字符数据,通常使用 string 或者 stringbuffer 存储。
整数型:
取值范围:
能够表示的范围越大,占用的内存空间就越大,选择合适的类型定义整数。
浮点型:
float 是单精度型,占用 32 位内存空间,而 double 是双精度型,占用 64 位内存空间。
float 可以精确到 7 位有效数字;double 可以精确到 16 位有效数字,
访问权限:
使用访问控制符来控制对类、变量、方法和构造方法的访问,有如下四种方法权限:
接口中的变量都隐式声明为: public static final,而接口里的方法默认情况下访问权限为 public
注意一下继承规则:
父类为 public,子类必须为 public
父类为 protected,子类只能为 protected 和 public
父类为 private 的方法,不能够被继承,
即:子类的访问级别要等于或者高于父类的级别。
位运算符:
<< 按位左移运算符,移一位相当于乘以2
>> 按位右移运算符,移一位相当于除以2
switch分支:
语法格式如下;
switch中的变量类型:可以自动转换为整型的(byte、short、int),String 类型,枚举类型
break控制:
主要用在循环语句或者 switch 语句中,用来跳出整个语句块;
跳出最里层的循环,并且继续执行循环下面的语句。
continue控制:
让程序立刻跳转到下一次循环;
break 是跳出当前循环,执行循环外的下一句代码;continue 是停止当前循环,进入下一次循环,并没有跳出循环。
StringBuffer 和 StringBuilder 类:
它们的对象可以被多次的修改,并且不产生新的未使用的对象;
StringBuilder 不是线程安全的(不能同步访问);
由于 StringBuilder 相对于 StringBuffer 有速度优势,多数情况下建议使用 StringBuilder,要求线程安全时,必须使用 StringBuffer 类;
String 与 StringBuffer
简单地说,就是一个变量和常量的关系。
StringBuffer 对象的内容可以修改;而 String 对象一旦产生后就不可以被修改,重新赋值其实是两个对象。
StringBuffer 的内部实现方式和 String 不同,StringBuffer 在进行字符串处理时,不生成新的对象,在内存使用上要优于 String 类。所以在实际使用时,如果经常需要对一个字符串进行修改,例如插入、删除等操作,使用 StringBuffer 要更加适合一些。
String:String 定义的字符串具有一个很大的优点: 编译器可以把字符串设为共享的。
StringBuffer: 避免添加多个字符对字符串重新分配内存。
StringBuffer 是线程安全的,执行效率慢。
Java SE 基础知识的更多相关文章
- Java SE基础知识
Java SE面试题 目录 Java SE基础 基本语法 数据类型 关键字 面向对象 集合 集合类概述 Collection接口 List Set Map Java SE基础 基本语法 数据类型 Ja ...
- Java SE 基础知识(一)
一.基础知识 1. Java SE : Java Standard Edition Java ME : Java Micro Edition Java EE : Java Enterprise Edi ...
- Java SE 基础知识(String,Array)
String 类: 1. 对于String对象的相等性判断来说,请使用equals()方法,而不是==.String的equals()是判断当前字符串与传进来的字符串的内容是否一致. 2. Strin ...
- Java SE 基础知识(二)
1. 类由两大部分构成:属性和方法.属性一般用名词来表示,方法一般用动词来表示. 2. 如果一个java源文件中定义了多个类,那么这些类中最多只能有一个类是public的,可以都不是public的. ...
- 什么才是java的基础知识?
近日里,很多人邀请我回答各种j2ee开发的初级问题,我无一都强调java初学者要先扎实自己的基础知识,那什么才是java的基础知识?又怎么样才算掌握了java的基础知识呢?这个问题还真值得仔细思考. ...
- Java SE 基础:注释
Java SE 基础:注释 一.注释定义 用于解释说明程序的文字. 二.注释的作用 1.解释说明程序,提高程序的可读性 2.可以帮助我们调试程序:通过注释代码块,检测错误位置 三.格式 1.单行注释 ...
- Java SE 基础:标识(zhì)符
Java SE 基础:标识(zhì)符 一.标识符定义 标识符,就是给类.接口.方法.变量等起名字时的字符序列 二.组成规则与注意事项 1.组成规则 英文大小写字母 数组 $ 和 _ 2.注意事项 不 ...
- Java SE 基础:常用关键字
Java SE 基础:常用关键字 常用关键字表
- Java 多线程——基础知识
java 多线程 目录: Java 多线程——基础知识 Java 多线程 —— synchronized关键字 java 多线程——一个定时调度的例子 java 多线程——quartz 定时调度的例子 ...
随机推荐
- KVM虚拟机windows系统增加硬盘
原文:http://www.ilanni.com/?p=6211 前一篇文章介绍了有关linux系统添加硬盘的方法,这次我们来介绍有关windows系统添加的相关步骤. 其实linux和windows ...
- sweetalert 快速显示两个提示, 第二个显示不出的问题
今天在使用 sweetalert 做提示框的时候, 有个操作快速做了两次提示, 发现第二次显示不出: sweetAlert({}, function() { $.get('', function() ...
- C# superGridControl 样式设置、加载数据、获取数据
样式设置 superGridControl1.PrimaryGrid.SelectionGranularity = SelectionGranularity.Cell; //设置选中样式 单元格.整列 ...
- 解决ImageCropperComponent发布报错
ng serve可以正常运行,npm run build 就会报错: ERROR in : Type ImageCropperComponent in -/node_modules/ng2-img-c ...
- ASP.NET 邮件发送
ASP.NET 邮件发送用NET的MAIL类即可实现. 邮件发时,为不影响进程,所以采用多线程实现比较好. /// <summary> /// 多线程邮件发送 多线程需注意不要引用到外部方 ...
- uwp获取版本信息win10 VersionInfo
using Windows.System.Profile; Después vamos a agregar una propiedad que va a contener un mensaje con ...
- [uwp]自定义图形裁切控件
开始之前,先上一张美图.图中的花叫什么,我已经忘了,或者说从来就不知道,总之谓之曰“野花”.只记得花很美,很香,春夏时节,漫山遍野全是她.这大概是七八年前的记忆了,不过她依旧会很准时的在山上沐浴春光, ...
- JSON is undefined. Infopath Form People Picker in SharePoint 2013
After some analysis, we found that, this is a known defect with the Microsoft and it is being fixed ...
- 【ocp-12c】最新Oracle OCP-071考试题库(44题)
44.(9-12)choose all that apply View the Exhibit and examine the details of the ORDER_ITEMS table. Ev ...
- android learning
https://www.cnblogs.com/kangjianwei101/p/5621238.html https://blog.csdn.net/write6/article/details/7 ...