/**

* 这篇文章供自己学习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学习总结-基础语法的更多相关文章

  1. Java学习笔记-基础语法Ⅳ

    多态:同一个对象,在不同时刻表现出来的不同形态 例如: 猫 cat = new 猫(); 动物 animal = new 猫(); 这里的猫在不同时刻表现出来不同的形态,这就是多态 多态的前提和体现: ...

  2. Java学习笔记-基础语法

    Java基础包含关键字,标识符,注释,常量和变量,运算符 关键字 关键字的定义和特点 定义:被Java语言赋予了特殊含义的单词 特点:关键字中所有字母都为小写 Java的关键字 用于定义数据类型的关键 ...

  3. Java学习笔记-基础语法Ⅹ-进程线程

    学习快一个月了,现在学到了黑马Java教程的300集 打印流的特点: 只负责输出数据,不负责读取数据 有自己的特有方法 字节打印流:PrintStream,使用指定的文件名创建新的打印流 import ...

  4. Java学习笔记-基础语法Ⅷ-泛型、Map

    泛型 泛型本质上是参数化类型,也就是说所操作的数据类型被指定为一个参数,即将类型由原来的具体的类型参数化,然后在使用/调用时传入具体的类型,这种参数类型可以用在类.方法和接口中,分别为泛型类.泛型方法 ...

  5. Java学习笔记-基础语法Ⅴ

    学习一些Java常用的API Math:包含执行基本数字运算的方法 如果没有构造方法,一般类的成员都是静态的,通过类名可以直接调用 Java中有两种random函数,Math.Random()函数能够 ...

  6. JAVA 学习笔记 - 基础语法 2

    ---恢复内容开始--- 1.数组的申明和应用 数据类型 数组名称[] = null;             //在堆栈中申明变量名称 数组名称 =  new  数据类型[10];       // ...

  7. JAVA 学习笔记 - 基础语法1

    1. 类的定义 public class  与  class的区别 一个java文件只有一个public class, 而且类名必须与文件名一致. 一个java文件可以有多个class定义,javac ...

  8. Java学习笔记-基础语法ⅩⅠ-UDP、TCP

    网络编程 三要素:IP地址.端口.协议 IP地址:使用ipconfig查看,如果装了VM的话,会有VMnet1.VMnet8和WLAN,net1不能从虚拟机到主机,net8不能从主机到虚拟机,net0 ...

  9. Java学习笔记-基础语法Ⅸ-文件

    File File是文件和路径名的抽象表示,File封装的并不是一个真正存在的文件,是一个路径名,可以存在也可以不存在 常用方法: 创建文件:createNewFile() 创建目录:mkdir() ...

随机推荐

  1. linux下的epoll怎样高效处理百万连接

    开发高性能网络程序时.windows开发人员们言必称iocp,linux开发人员们则言必称epoll.大家都明确epoll是一种IO多路复用技术,能够很高效的处理数以百万计的socket句柄,比起曾经 ...

  2. 1064. Complete Binary Search Tree (30)【二叉树】——PAT (Advanced Level) Practise

    题目信息 1064. Complete Binary Search Tree (30) 时间限制100 ms 内存限制65536 kB 代码长度限制16000 B A Binary Search Tr ...

  3. CodeForces 16B Burglar and Matches(贪心)

    B. Burglar and Matches time limit per test 0.5 second memory limit per test 64 megabytes input stand ...

  4. Codeforces Round #272 (Div. 2) Dreamoon and WiFi 暴力

    B. Dreamoon and WiFi Dreamoon is standing at the position 0 on a number line. Drazil is sending a li ...

  5. J - 玩游戏

    小A和小B玩游戏,初始的时候小A给小B一组包含n个数的数组.他们按如下的规则进行: 每次小B得到一组数,他把这组数的和加到自己的分数里面(他的初始分数是0),然后他把这组数还给小A. 如果小A得到的这 ...

  6. luogu 1939 【模板】矩阵加速(数列)

    题目大意: a[1]=a[2]=a[3]=1 a[x]=a[x-3]+a[x-1] (x>3) 求a数列的第n项%1000000007 思路: 使用矩阵快速幂进行加速 在草稿纸上填了填数 然后就 ...

  7. Java - HashTable、HashMap和LinkedHashMap的区别

    一般情况下,我们用的最多的是HashMap,在Map 中插入.删除和定位元素,HashMap 是最好的选择.但如果您要按自然顺序或自定义顺序遍历键,那么TreeMap会更好.如果需要输出的顺序和输入的 ...

  8. [Swift通天遁地]七、数据与安全-(4)CoreData数据的增、删、改、查

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  9. java 锁机制(synchronized 与 Lock)

    在java中,解决同步问题,很多时候都会使用到synchronized和Lock,这两者都是在多线程并发时候常使用的锁机制. synchronized是java中的一个关键字,也就是说是java内置的 ...

  10. Kafka的3节点集群详细启动步骤(Zookeeper是外装)

    首先,声明,kafka集群是搭建在hadoop1.hadoop2和hadoop3机器上. kafka_2.10-0.8.1.1.tgz的1或3节点集群的下载.安装和配置(图文详细教程)绝对干货 如下分 ...