思维导图看不清楚时:
1)可以将图片另存为图片,保存在本地来查看
2)右击在新标签中打开放大查看

#1.注释

定义:用于解释说明程序作用的文字

注释类别

单行注释

格式: //注释文字

多行注释

格式: /* 注释文字 */

文档注释

格式:/** 注释文字 /
区别于多行注释:多一个

#2.关键字

定义:被Java语言赋予特定含义的单词,又称保留字

goto和const作为保留字存在,目前并不使用

关键字有哪些


#3.标识符

定义:程序中需要我们自己来命名的,比如类名,方法名,变量名

标识符命名规则

  • 由字母、数字、下划线、$组成,但不能以数字开头

    大小写敏感

    不得使用java中的关键字和保留字

    建议采用驼峰式写法,比如定义一个系统用户类 SystemUser

#4.常量与变量

##常量

程序中,固定不变的值

变量

变量用来存储程序执行中用到的数据

变量存储的数据是可以改变的

变量定义格式
数据类型 变量名 = 初始化值;

#5.数据类型

Java语言是强类型语言,对于每一种数据都定义了明确的数据类型,在内存中为每种数据类型分配了不同的内存空间

数据类型

各种类型数据占用空间与范围

注意:char是占2个字节

其他

  • 1字节 = 8位,即2^8
  • 数据分类的目的:合理利用内存
  • 开发中:整数一般采用int和 long, 小数:double

规则

  1. 变量必须先声明,并且初始化后才能使用;
  2. 声明变量必须有数据类型
  3. 同一作用域内变量不能重复定义
  4. 变量名小写开头
  5. 变量的赋值不能越界

6,数据类型的转换问题

赋值时的转换

默认转换(把小的赋值给大的)

byte-short-int-long-float-double

强制转换(把大的赋值给小的)

目标类型 变量名=(目标类型)变量值;

运算时的转换,掌握+号运算符(默认转换)

**注意:**float类型数据赋值时,必须进行数据转换,因为小数默认为double类型

转换方式:
1.float a=(float)1.01; 在数值前加(float)
2.float a=1.01f; 在数值后面加f

所有的小数均默认是double类型,要用float类型时必须进行类型转换

在运算中直接使用的整数均为int类型,所以int类型一下的类型与其运算时都会变为int类型,若赋值给int一下的类型,则会损失精度。
如short a=2 ; a=a+2;输出a是会损失精度,因为a+2的结果为int类型,会溢出。
但“+=”会自动做类型转换,a+=2时,此时不会损失精度

#6.表达式的概念

表达式的概念:操作数+运算符+操作数,就组成一个表达式

#7.运算符

算术运算符

算术运算符(+、-、*、/、%、++、–、注意区分前置和后置的区别)

/和%区别:前者为除号,后者为取模

%(取模)的正负号由被除数(分子)决定,如3%2,-3%2结果分别为1和-1

+加法运算:运算中从前往后执行,+(加号)前后数据一个为字符时,则都会转换为字符后运算
System.out.println(1+1+“1”);//21
System.out.println(“1”+1+1);//111

+(加号):在左右操作数均为数值时,+为加号;若有一个是字符,+为连接符。
字符串和任意类型的数据相加,结果均为字符串

/除法结果数据类型

分子和分母同类型时,结果类型还是该类型,如10/3 结果为3.
10.0/3.0 结果为3.33335
若均为整数时,结果不会四舍五入,不会3.9取为4,结果是取去除余数得到的整数

分子和分母类型不同时,取范围大的数据类型,如10/3.0 结果为3.3335

n++:会先把原先的结果输出,再加1
++n:会先加1后,在输出

int a = 8;
int b = (a++)+(++a)+(a*10);//118
分析:a++先输出8,在加1使a变为9;++a先加1再输出,a变为10;最后加100,得到118

注意:
a.运算中对变量进行操作,会改变变量
b.println中对变量进行操作,也会改变变量

##赋值运算符

赋值运算符(= , +=, -=, *=, /=, %=)

short s=1; s = s+1; //丢失精确度 运算时,ss + 1会转换为int类型
short s=1; s+=1;//s 2 运算时, += 会自动做类型转换的处理

##关系(比较)运算符

==:相等
!=:不相等

:大于
<:小于
=:大于等于
<=:小于等于

关系运算符的结果都是boolean类型,true 或者 false

注意:=和==区别

int x = 10;
int y = 10;
boolean flag = (x == y);
//boolean flag = (x = y);//error
分析:先给x赋值为y,再给flag赋值,x为数值,flag为布尔值,会报错。将flag类型改为int就不会报错了
System.out.println(flag);//true

boolean b1 = true;
boolean b2 = false;
boolean b3 = (b1 == b2);
System.out.println(b3);//false
boolean b4 = (b1 = b2);//flase 此时不存在上题的类型冲突,不会报错

##逻辑运算符

&(与) 、|(或) 、!(非)&&(短路与)、||(短路或)、^(异或)

语法规则

& 一个为假,则为假 逻辑与

| 一个为真,则为真 逻辑或

!非false则true,非true则false

&& 一个为假,则为假 短路与

|| 一个为真,则为真 短路或

^ 两个不同,则为true,相同则为false

短路与和逻辑与的区别(&& vs & || vs |)

短路与,只要前面可以确定结果是false,那么后面就不管了

逻辑与,就算前面可以确定结果是false,它也要去计算后面的值

短路或,只要前面可以确定结果是true,那么后面就不管了

逻辑或,就算前面可以确定结果是true,它也要去计算后面的值

证明逻辑与或和短路与非的区别

方法一

public class Zy07{public static void main(String[] args){//设计一个实验证明&和&&的区别/*结论:短路与&&,只要前面可以确定结果是false,那么后面就不管了逻辑与&,就算前面可以确定结果是false,它也要去计算后面的值短路或||,只要前面可以确定结果是true,那么后面就不管了逻辑或|,就算前面可以确定结果是true,它也要去计算后面的值设计个实验证明这个结论*/boolean c1 = 1>2&&2>(3/0);//boolean c1 = 1>2&2>(3/0);/*使用&时会报错,说3的除数不能为0,说明运算了后面的部分而使用&&时不会报错*/System.out.println(c1);//false}
}

该法利用分母不能取零来判断

方法二

public class Test2{public static void main(String[] args){int a=1;int b=1;System.out.println(a<0&b++>0);//falseSystem.out.println(b);//2System.out.println(a<0&&b++>0);System.out.println(b);//2}
}

该法利用a和b是否发生变化来判断

##三目运算符

格式:
(关系表达式)?表达式1:表达式2;

如果关系表达式结果为true,运算后的结果是表达式1;

如果关系表达式结果为false,运算后的结果是表达式2;

练习:取两个数中的最大值

#8.转义字符

定义:通过“\”来改变后面所跟字符的含义

【JavaSE02】Java基本语法-思维导图相关推荐

  1. Java基础语法思维导图

  2. Java基础知识思维导图

    Java基础知识思维导图 涉及基础语法.面向对象.数据结构.高级特性.异常处理.多线程.常用工具类.常用设计模式等. 初学者可参考.

  3. Java语言学习思维导图

    Java语言学习思维导图

  4. Java最全思维导图知识汇总

    本篇主要总结java知识思维导图框架,总结内容从基础到高级,到Java开发.可供Java学习者学习. Java知识总结: 01.Java程序设计(基础) 02.Java程序设计(专题) 03.客户端网 ...

  5. Java知识汇总——思维导图

    Java知识汇总--思维导图 Java知识点汇总,从基础到常用的API.还有常用的集合类,总结的很详细.图片是从论坛里面找到的,整理下来以便常复习.这是目前看到的比较详细完整的思维导图. 1.Java ...

  6. java集合框架思维导图

    一.JAVA集合框架思维导图 二.java集合框架图 三.Java集合框架体系图

  7. Java基础学习—思维导图

    (尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/52894625冷血之心的博客) 找到两张Java学习的思维导图,特别 ...

  8. Java并发编程思维导图(知识点总结,含面试题整理)

    我公布的所有思维导图笔记(后端技术知识点汇总)  目录链接 前言 继JVM思维导图之后又一肝作 年前刚好整理完毕,公开克隆分享. 本张思维导图优势 思维导图融入大量java并发编程知识的同时,覆盖大量 ...

  9. 【基础语法篇】Java必备基础(思维导图+代码)

    文章目录 基本语法 初识JDK 输入与输出 条件与循环 一维数组与二维数组 函数及其他补充 Java常用类 Number&Math类 Arrays类 String类 关于==和equals 其 ...

最新文章

  1. WSFC2016 SMB多通道与网络调校
  2. Firebug快速入门(二)
  3. Semantic UI实现一个landing page
  4. 获得C币规则(截止2017年10月已失效,万恶的CSDN)
  5. 从文件中读出数据显示在表格中_玩转表格:如何在Word表格中进行数据计算?...
  6. Python-100 | 练习题 01 列表推导式
  7. java继承调用先后_「继承顺序」JAVA继承顺序 - seo实验室
  8. mysql添加外键约束的两种方式(重要)
  9. eclipse 优化。
  10. 各大厂面试云集的《520道LeetCode题Java版答案》
  11. anjuta 连接mysql_深度商店应用Genymotion、Aptana Studio、宝塔Linux面板、Anjuta
  12. 用聚宽数据排一排商誉雷(附结果)
  13. 大二第六周(逐渐暴躁的一周)
  14. 给游戏编个故事:《通关游戏设计之道》
  15. 趣谈C语言(基础篇)
  16. python线性回归预测pm2.5_李宏毅 线性回归预测PM2.5
  17. 160多个android开源代码汇总
  18. 英语单词 One 个人 2. 出生和死亡
  19. 刘强东终于向自己的兄弟下手了!
  20. LSTM做预测遇到的错误总结

热门文章

  1. C++ Primer 5th笔记(chap 18 大型程序工具)类型转换与多个基类
  2. C++(五)——运算符重载
  3. [密码学] 破解维吉尼亚密码
  4. 【MySQL】求每门科目成绩排名前二的学生信息
  5. 05-Exception Handling Framework
  6. python编写一个压测重启的测试程序
  7. 直接载入内存中的DLL
  8. 广西中专机器人应用与维护_我校2018级工业机器人应用与维护专业跟岗实习
  9. win32线程学习总结(临界区,互斥体,事件,信号量)
  10. ASP.NET运行环境配置