/**

* 这篇文章供自己学习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. PHP数字左侧自动补零

    1.输出数字为001,002... <?php $number=0; if($number<100) { $number=$number+1; $txt=sprintf("%03 ...

  2. Codeforces Round #313 A. Currency System in Geraldion(简单题)

    A. Currency System in Geraldion time limit per test 2 seconds memory limit per test 256 megabytes in ...

  3. 怎么看待MYSQL的性能

    MySQL在单实例性能方面和Oracle相比还有一些差距,我们通过规范和技术手段来降低这些性能差距带来的问题. 首先,大量甚至海量数据的增删改.查询.聚合查询的性能还有待提高.为了规避这些问题,我们在 ...

  4. P5180 【模板】支配树

    这个题乱七八糟的,和之前的灭绝树有点像,但是不一样.那个是DAG,这个是有向图.简单步骤就是先求出来dfs序,然后求出半支配点(?),然后通过这个求支配点. 算法不是很理解,先放在这. 题干: 题目背 ...

  5. Sqlserver日期操作

    Sqlserver日期操作 select GETDATE() as '当前日期', DateName(year,GetDate()) as '年', DateName(month,GetDate()) ...

  6. DFS知识点

    2019-06-01 11:14:34 加油,坚持!!! 1.  2. 3.

  7. 你真的知道GET和POST两种基本请求方法的区别吗?

    GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二. 最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数. 你可能自己 ...

  8. InterferenceSignal-----------挺简单的 一道题 就是英语不好

    InterferenceSignal 时间限制: 2000ms内存限制: 128000KB 64位整型: Java 类名: 上一题 提交 运行结果 统计 讨论版 下一题 类型: 没有 添加 题目描述 ...

  9. 关于 android屏幕适配

    一.关于布局适配 1.不要使用绝对布局 2.尽量使用match_parent 而不是fill_parent . 3.能够使用权重的地方尽量使用权重(android:layout_weight) 4.如 ...

  10. Spring Cloud (13) 服务网关-路由配置

    传统路由配置 所谓传统路由配置方式就是在不依赖于服务发现机制情况下,通过在配置文件中具体制定每个路由表达式与服务实例的映射关系来实现API网关对外部请求的路由.没有Eureka服务治理框架帮助的时候, ...