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 定时调度的例子 ...
随机推荐
- struts2获取request、session、application的四种方式
struts2获取request.session.application的四种方式 //获取map类型的request.session.application public class LoginAc ...
- 8-网络请求之http
本篇博客对应视频讲解 回顾 上一篇讲了Linq的使用,大家自己上手实践之后,相信一定会感到非常快捷方便.更多详细的内容还是需要自己去阅读官方文档. 今天要讲网络请求中的http请求,这也是在编程当中经 ...
- SpringBoot :docker
Docker 是一个开源的应用容器引擎 docker官方网站:https://hub.docker.com/ $部署docker到Linux系统 1.准备一个Linux系统的虚拟机或者物理机 本例所使 ...
- 【ocp-12c】最新Oracle OCP-071考试题库(41题)
41.(8-14) choose two View the Exhibit and examine the structure of the ORDERS table. The columns ORD ...
- CTF中常见的 PHP 弱类型漏洞总结
作者:ZERO 所属团队:Arctic Shell 参考资料: http://archimesan.me/2017/12/21/php%E5%BC%B1%E7%B1%BB%E5%9E%8B%E6 ...
- CTF中密码学一些基础【三】
本文作者:i春秋签约作家——MAX. 看看今天教程: 看着几个字符在键盘的位置,直接就是三个圈圈,圆心的三个字符就是答案 非常简单! 答案就是KEY 看题解密就好了!! 根据提示Asp encode解 ...
- 【FAQ】Maven 本地仓库明明有jar包,pom文件还是报错解决办法
方法一: 找到出错的jar包文件位置,删掉_maven.repositories文件 方法二: maven中的本地仓库的index索引没有更新导致 解决方案: 在eclipse中打开菜单 window ...
- 十招谷歌 Google 搜索
十招谷歌搜索 一.或者 OR 二.网址 insite:example.com keyword 三.大约 1.类似查询(记得) ~keyword 2.模糊查询(记得) key*****word 3.模糊 ...
- select子句排列顺序与聚集函数
selcet 要返回的列或表达式 from 从中检索数据的表 where 行级过滤 group by 分组说明 having 组级过滤 order by 输出排列顺序 ASC正序排 ...
- python 开发工具IDE pycharm的破解版安装
打开终端 cd /etc 命令行输入 sudo vim hosts 输入mac密码 输入i,进入编辑模式(注意在英文状态下书写) 粘贴0.0.0.0 account.jetbrains.com到文件最 ...