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 定时调度的例子 ...
随机推荐
- 遇到了IE10不能登录的问题,很早就有解决方案了
1..net 2.0 的程序,请打开项目,打开vs开发环境的工具菜单下的 Package Manager Console ,中文名:程序包管理控制台,在打开的控制台中输入如下命令:Install-P ...
- Net系列框架-Dapper+AutoFac 基于接口
Net系列框架-Dapper+AutoFac 基于接口 工作将近6年多了,工作中也陆陆续续学习和搭建了不少的框架,后续将按由浅入深的方式,整理出一些框架源码,所有框架源码本人都亲自调试通过,如果有问题 ...
- Linq与数据库的连接显示查询(一)
使用linq查询sql数据库是首先需要创建一个 linq to sql 类文件 创建linq to sql的步骤: 1在Visual Studio 2015开发环境中建立一个目标框架 Fra ...
- c# async 事物
上菜 async await 机制 确实便捷开发 多线程时 如何一致性如何保证呢? public async Task<ActionResult<IEnumerable<stri ...
- c# 图片等比缩略
public Bitmap getnew(Image bit, int TargetWidth, int TargetHeight)//beishu参数为放大的倍数.放大缩小都可以,0.8即为缩小至原 ...
- DOS文件操作命令
内部命令 COPY---文件固执命令 格式:COPY [源盘:][路径]<源文件名> [目标盘][路径]<目标文件名> 拷贝一个或多个文件到指定盘上 1)COPY是文件对文件的 ...
- php中mvc框架总结1(7)
1.代码结构的划分: 目前的目录结构: /站点根目录 /application/应用程序目录 Model/模型目录 View/视图目录 Back/后台 front/ test/测试平台 Control ...
- [HTML] <meta name="viewport" content="width=device-width,initial-scale=1.0">释义
<meta name="viewport" content="width=device-width,initial-scale=1.0">这是 HT ...
- MySQL之查看数据库编码
MySQL之查看数据库编码
- Python中复制、深拷贝和浅拷贝的区别
深拷贝定义(deepcopy) 在Python中,由于一切皆对象,所以任何变量都可以被引用,也即可以被赋值给任何变量.但是在Python中,给变量赋值,是区分的,一般情况下,Python中的变量赋值都 ...