JAVA学习总结-基础语法
/**
* 这篇文章供自己学习JAVA总结回顾使用
* 主要借鉴了马士兵老师的视频进行总结
* @author Kingram
*/
标识符的概念和命名规则
JAVA常量---不可变的变量
程序的执行过程
从现在开始,你应该记住,内存里分四块区域,code segment,data segment,stack,heap,真正执行的时候,代码首先放到code segment里面,虚拟机找到相关的main方法,然后开始噼里啪啦噼里啪啦的执行,在执行的过程中,会牵扯到其他三块内存区域.因为执行的时候需要在不同的区域分配内存.
JAVA变量
1,java中的变量是程序中最小的存储单元,其要素包括变量名,变量类型,作用域.
2,java程序中每一个变量都属于特定的数据类型,在使用前必须先声明,再赋值.
JAVA变量的作用域
凡是在大括号里面声明的变量,出了这个大括号就没人认识它了.(为什么不能说方法和类,因为在if语句和循环语句中,出了语句就没人认识它了).
JAVA变量的分类
注意:方法的参数是局部变量
JAVA数据类型的划分
基本数据类型包括四类八种,依据内存里所占空间的大小区分,大小相同时也有可能内存中布局不同(0101的排列不同);
char类型;
java字符采用Unicode编码,每个字符占俩个字节,因而可以使用16进制编码表示(编码问题:无论是任何东西在计算机里面都是用 0101表示,每个0每个1叫做bit(位),一个字节占8位,所有的文字都可以使用0101表示,但是不同的文字可能占的0101的个数不一样,一个字节最多能表示2^8个字符,所以表示不了中文,Unicode包括了世界上所有的语言.)
整数类型;
JAVA里没有无符号的整数,所有的整数都是带符号位的,所以int类型的表述范围是-2^7-2^7-1.
浮点类型
计算机内部表示浮点数是有误差的,情况复杂,有待深究.
基本数据类型转换
字符型在计算机内部也是数字,所以也可以进行运算,
long a = 123;// 相当于把一个int类型转换为long类型;
float a = 12.3;// 相当与把一个double转换为float,需要加上强制转换负符;
long l = 3000000000000;// 必须加L,3000000000000超出了int类型的表示范围;
int类型占四个字节,要想转换成byte类型,就把三个字节咔嚓砍掉,剩下的字节是几就是几;但是double转换成float不行,计算机内部有专门表示小数点的位,直接砍掉内部的格式就不对了.
float类型转换成long类型,直接把小数部分咔嚓砍掉.
运算符
int i = j++;先赋值再运算;
int i = ++j;先运算在赋值;
三目: (boolean表达式) ? y : z;
如果boolean值为true则返回y,如果boolean值为false,则返回false;
语句
条件语句--根据不同条件,执行不同语句.
if() { }
if() { } else { }
if() { } else if() { }
if() { } else if() { } else if() { } else { }
循环语句--重复执行某些动作
for(表达式1;表达式2;表达式3) {语句;...; }
首先执行计算表达式1,接着执行表达式2,若表达式2的值=true,则执行语句,接着计算表达式3,再判断表达式2的值,依次重复下去,直到表达式2的值=false;
for语句中三个表达式都可以省略.
while(逻辑表达式) {语句;...; }
先判断逻辑表达式的值,若=true.则执行其后面的语句,然后再次判断条件并反复执行,直到条件不成立为止.
do {语句;..; } while(逻辑表达式);
先执行语句,再判断表达式的值,若为true,再执行语句,否则结束循环.
break & continue 语句
break语句用于终止某个语句块的执行,用在循环语句中,可以强行退出循环;
continue语句用在循环语句体中,用于终止某次循环过程,跳过循环体中continue语句下面的未执行的循环,开始下一次的循环过程.
switch() {
case xx :
...
break;
defalt :
...
break;
}
小心case穿透!多个case可以合并到一起!default可以省略.
JAVA学习总结-基础语法的更多相关文章
- Java学习笔记-基础语法Ⅳ
多态:同一个对象,在不同时刻表现出来的不同形态 例如: 猫 cat = new 猫(); 动物 animal = new 猫(); 这里的猫在不同时刻表现出来不同的形态,这就是多态 多态的前提和体现: ...
- Java学习笔记-基础语法
Java基础包含关键字,标识符,注释,常量和变量,运算符 关键字 关键字的定义和特点 定义:被Java语言赋予了特殊含义的单词 特点:关键字中所有字母都为小写 Java的关键字 用于定义数据类型的关键 ...
- Java学习笔记-基础语法Ⅹ-进程线程
学习快一个月了,现在学到了黑马Java教程的300集 打印流的特点: 只负责输出数据,不负责读取数据 有自己的特有方法 字节打印流:PrintStream,使用指定的文件名创建新的打印流 import ...
- Java学习笔记-基础语法Ⅷ-泛型、Map
泛型 泛型本质上是参数化类型,也就是说所操作的数据类型被指定为一个参数,即将类型由原来的具体的类型参数化,然后在使用/调用时传入具体的类型,这种参数类型可以用在类.方法和接口中,分别为泛型类.泛型方法 ...
- Java学习笔记-基础语法Ⅴ
学习一些Java常用的API Math:包含执行基本数字运算的方法 如果没有构造方法,一般类的成员都是静态的,通过类名可以直接调用 Java中有两种random函数,Math.Random()函数能够 ...
- JAVA 学习笔记 - 基础语法 2
---恢复内容开始--- 1.数组的申明和应用 数据类型 数组名称[] = null; //在堆栈中申明变量名称 数组名称 = new 数据类型[10]; // ...
- JAVA 学习笔记 - 基础语法1
1. 类的定义 public class 与 class的区别 一个java文件只有一个public class, 而且类名必须与文件名一致. 一个java文件可以有多个class定义,javac ...
- Java学习笔记-基础语法ⅩⅠ-UDP、TCP
网络编程 三要素:IP地址.端口.协议 IP地址:使用ipconfig查看,如果装了VM的话,会有VMnet1.VMnet8和WLAN,net1不能从虚拟机到主机,net8不能从主机到虚拟机,net0 ...
- Java学习笔记-基础语法Ⅸ-文件
File File是文件和路径名的抽象表示,File封装的并不是一个真正存在的文件,是一个路径名,可以存在也可以不存在 常用方法: 创建文件:createNewFile() 创建目录:mkdir() ...
随机推荐
- Lua 跟 C++ 的交互
Lua 和 C++ 是这样交互的 乱七八糟的前戏: 1. 到官网下载 Lua 文件 可參考 -> Lua 下载与配置 2. 设置环境 可參考 -> VS 配置Lua环境 交互过程 ...
- jstl自己定义函数的使用
因为本人之前并没有接触过jstl标签,说来也可笑,之前一直使用struts2标签.近期项目用到jstl,所以做些记录方便以后自己查看. jstl的强大原因之中的一个我觉得就是他的自己定义函数,我们能够 ...
- Shiro学习(22)集成验证码
在做用户登录功能时,非常多时候都须要验证码支持,验证码的目的是为了防止机器人模拟真有用户登录而恶意訪问,如暴力破解用户password/恶意评论等. 眼下也有一些验证码比較简单,通过一些OCR工具就能 ...
- 小胖说事22-----iOS开发技巧之取消键盘响应和截屏功能
1.UILable内容模糊 在非Retina的iPad mini 的屏幕上,一个UILable的frame的origin值假设是有小数位(如0.5),就会造成显示模糊,所以不妨用整数值的origin. ...
- 20170623_oracle备份和恢复_常见问题
1 为什么需要备份?备份分类? 1)故障.迁移.误操作 2)备份分类: 物理与逻辑角度:物理备份.逻辑备份 备份策略角度:完全备份.增量备份.差异备份 2 使用导入导出进行备份和恢复及其四种模式:其他 ...
- web中servletcontext和applicationContext
参看:http://www.cnblogs.com/isisbenben/p/5594323.html servletContext和ApplicationContext有什么区别 servletCo ...
- .NET下WebBrowser的一个BUG以及其替代品——geckofx
今天研究一个小问题,在C#的WebBrowser下打开奇艺网的视频,经常整个FLASH就偏了,进度条控制条什么的都没有. 要全屏一下然后还原才能解决这个问题. 如下,图1为webbrowser打开,图 ...
- hibernate基础学习---hierbnate2级缓存
1:开启二级缓存sessionFactory需要安装jar包 2:在实体类配置文件添加(配置二级缓存).我的配置文件是Account.hbm.xml <?xml version="1. ...
- [Swift通天遁地]七、数据与安全-(5)高效操作SQLite数据库
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...
- JS/JQuery操作DOM元素笔记
原因 自己目前在搭建一个.NET Core的框架,正在构建权限这块的东西,今天设置权限界面,需要使用JavaScript操作DOM元素,记录一下. 页面大概是酱紫的(我使用的AdminLTE和LayU ...