Java语法由关键字,标识符,注释,常量和变量,运算符,语句,函数,数组组成
1、关键字:被Java赋予特殊含义的单词(小写的)
- 定义数据关键字:class 、interface、byte、short、int、long、float、double、char、boolean、void
- 定义数据类关键字:ture、false、null
- 定义流程控制关键字:if、else、switch、case、default、while、do、for、break、continue、return
- 定义访问权限修饰符的关键字:private、protected、public
- 定义类,函数,变量修饰符的关键字:abstract、final、static、synchronized
- 定义类与类之间的关系的关键字:extends、implements
- 定义建立实例及引用实例、判断实例的关键字:new、this、super、instanceor
- 用于异常处理的关键字:try、catch、finally、throw、throws
- 用于包的关键字:package、import
- 其他修饰符:native、strictfp、transient、volatile、assert
2、标识符:在程序中自定义的名称
- 组成:26个英文字母、数字0-9、_$符号
- 规则:1.数字不可以开头
2.不可以使用关键字
3、注释:注解,解释
- 写法:①//单行注释
②/* 多行注释*/
③/ ** 文档注释 */(Java特有的可以提取,生成说明书) - 应用:①写出你的需求
②思路:要干什么,目的是什么,要如何运行
③步骤
写代码,编程序,都要有注释哟!!!写出你的想法(・ิϖ・ิ)っ
4、常量和变量
(1) 常量:不能改变的数值
- 分类:
①整数常量
②小数常量
③布尔(boolean)常量,只有ture和false
④字符常量:数字(0-9),字母,符号;用' '标识
⑤字符串常量:用" "表示,可以放多个
⑥null常量:只有一个null一个值 - 整数的表现形式:
①二进制:逢2进1;0.1;
②八进制:逢8进1;0-7;用0开头表示
③十进制:逢10进1;0-9;
④十六进制:逢16进1;0-9,A-F;用0x开头表示
⑤负数的进制:这个数的正数的二进制取反,再加一。

byte 1个字节=8个二进制位
1k=1024个字节
8进制数:3个二进制位=1个8进制
16进制数:4个二进制位=1个16进制
(2)变量:变化的数据(内存中的一个存储区域,用于存储不确定的值)要有名字和类型(用于约束)
定义变量:
数据类型 变量名 = 初始化值;
数据类型:1.数值型:<1>整数类型[byte(字节)、short、int、long]
<2>浮点型[float(单精度)、double(双精度)]
2.字符型[char]
3.布尔型[boolean]
变量名:标识符
初始化值:第一次赋的值(常量值)
自动类型转换:类型不同,且两边都是数值型(占类型小的提升类型)
byte→short(char)→int→long→float→double

强制类型转换:(慎用)

PS:


5、运算符
- 算数运算符
+、-、*、/(“/”会省略小数!)、%(取余,模运算)、+(连接符)、++自增

- 赋值运算符:
=、+=、-=、*=、/=、%=

比较运算符:
==、!=、>、<、<=、>=、
比较运算符的结果都是boolean型的,要么true要么false逻辑运算符:用于连接两个boolean类型的表达式
&&(与)、||(或)、!(非)

位运算符:用于二进制位运算符号
&(与运算)、|(或运算)、^(异或运算)、~(反码)条件运算符:就是三目运算符。是唯一有3个操作数的运算符。
? :
<表达式1> ? <表达式2> : <表达式3>;
"?"运算符的含义是:
先求表达式1的值,如果为真,则执行表达式2,并返回表达式2的结果;
如果表达式1的值为假,则执行表达式3,并返回表达式3的结果。
例如: 对于条件表达式b ? x : y,先计算条件b,然后进行判断。如果b的值为true,计算x的值,运算结果为x的值;否则,计算y的值,运算结果为y的值。
1. 读取输入
Scanner in = new Scanner(System.in);
输入一行(包含空格)
String str = in.nextLine() ;
读取一个单词(以空白符作为分隔符)
String firstName = in.next();
读取一个整数
int age = in.nextInt();
读取一个浮点数 in.nextDouble()
输入是可见的,Scanner类不适合从控制台读取密码,Java 6引入Console实现
Console cons = System.console();
char[] passwd = cons.readPassword(“Password:”);
为了安全起见,返回的密码存放在一维字符数组中,而不是字符串中。在对密码进行处理之后,应马上用一个填充值覆盖数组元素。
采用console输入一次只能读取一行。
Scanner(InputStream in)
用给定的输入流创建一个Scanner对象
String nextLine()
读取输入的下一行内容
String next()
读取输入的下一个单词(以空格作为分隔符)
int nextInt()
double nextDouble()
读取并转换下一个表示整数或浮点数的字符序列
boolean hasNext()
检测输入中是否还有其他单词
boolean hasNextInt()
boolean hasNextDouble()
检测是否还有表示整数或浮点数的下一个字符序列
static Console console() 6
如果有可能进行交互操作,就通过控制台窗口为交互的用户返回一个Console对象。否则返回null。对于任何一个通过控制台窗口启动的程序,都可以使用Console对象。否则,其可用性将与使用的系统有关。
控制流程
if
while
do while
for
switch
case
case标签可以是:
类型为char、byte、short或int ( 或其包装器类Character、Byte、Short和Integer)。的常量表达式
枚举常量
从JavaSE7开始,case标签还可以是字符串字面量
中断控制流程语句
break
不带标签的break语句。可以用于退出循环语句
带标签的break语句,用于跳出多重嵌套的循环语句。(标签必须放在希望跳出的最外层循环之前,并且必须紧跟一个冒号)
可将标签应用到任何语句中,甚至可以应用到if语句或块语句中
continue
将控制转移到最内存循环的首部