局部:
- 在方法中 或 代码块中定义的变量。
- 必须 初始化 后 才能使用。
- 在同一作用域内 不能声明同名的变量。
标识符命名规则:
- 语句成分命名。
1.字母、数字、下划线、$ 组成;
2.不能以 数字开头;
3.不能是java的关键字;
4.不能是 字面值 true,false,null
保留字: const
goto
没有语法意义。
规范:
变量: 骆驼命名法。
多个单词组成,第一个单词 首字母 小写,
后边的 所有单词 首字母 都大写。
public class Demo1 {
public static void main(String[] args) {
//声明
//局部变量:
int num;
//赋值:初始化
num = 22;
//赋值,修改变量的值
num = 33;
int numValue = 11;
System.out.println(num);
}
}
----------------------------------------------
变量互换方式:
定义一个空变量。
--------------------------------------------
数据类型:
1.基本:内置
值
整数类型 值11,22,33,678
内存大小 范围
字节:byte 1 -128 到 127
短整数:short 2
整数: int 4
长整数:long 8
浮点类型 值: 11.1 22.2 56.789
单精度:float 4
双精度:double 8
字符类型 值 : 'a' '2' '中'
char 2
布尔类型 值: true,false
boolean
2.引用:地址
字符串 String "adfdfdf"
数组 []
类 class
接口 interface
--------------------------------------------------
类型转换:
- 自动类型转换:低类型 -》 高类型
类型兼容
byte -》 short -> int -> long -> float ->double
char ->
- 强制类型转换:
高类型 -》 低类型
(类型)数值;
- 类型提升:
低类型提升为高类型 运算,
运算结果 采取 类型最高的 作为最终结果类型。
----------------运算符-------------------------
算术运算符:
+ - * / % (取余数,取模)
自增自减
++ a++ ++a // a = a +1
-- a-- --a // a = a -1
后缀:参与 赋值运算 或 输出语句中,先赋值运算或输出,然后再自增或自减;
前缀 :先自增或自减,然后再 赋值或 输出。
----------------------------------------------------------------
关系(比较)
> <
>= <=
== !=
逻辑:
&& 与 一假false为假false
|| 或 一真 true为真 true
! 非 取反
赋值:
扩展赋值运算符
+= -= *= /= %=
a+= 5; // a = a + 5;
条件运算符:
?:
boolean
表达式一 ?表达式二:表达式三
表达式一 运算:true ->表达式二
false ->表达式三
-------------------
位运算符:
& 只要 一个 为 0 ,结果就是 0
| 有一个 为 1,结果是 1
^ 相同 为 0,不同为 1
0,0 1,1 -> 0
0,1 1,0 -> 1
~ 取反
0 —> 1
1 -> 0
<< 左移
向左移动几位,右边低位 用 0补位。
>> 右移
向 右移动 几位,左边 高位 ,是什么就用什么补位,
是0用0补位,是1用1补位。
>>>
向 右移动 几位,左边 高位 用 0补位。
---------------------------------------------
&& || 和 & | 的区别:
1.&& || 逻辑运算
短路
& |
非短路
2.& | 位运算符
可以二进制位运算
---------------------------------------------
优先级:
()
!++ --
算术 * / %
+ -
关系 > >= < <=
== !=
逻辑 &&
||
条件 ?:
赋值 = +=
--------------------------------------------
控制台输入:
1.请超人种族(导入Scanner类型)
import java.util.Scanner;
import java.util.*;
2.创建超人
Scanner superman = new Scanner(System.in);
3.超人施展技能(调方法)
superman.nextInt();
方法:
nextInt()
nextDouble()
next() 字符串
next().charAt(0)
import java.util.Scanner;
public class Demo20 {
public static void main(String[] args) {
Scanner superman = new Scanner(System.in);
//-----------1.运算-------------------------------
System.out.print("--输入一个数字:");
int n1 = superman.nextInt();
System.out.print("--输入一个数字:");
int n2 = superman.nextInt();
System.out.println(n1+"+"+n2+"="+(n1+n2));
System.out.println(n1+"-"+n2+"="+(n1-n2));
System.out.println(n1+"*"+n2+"="+(n1*n2));
System.out.println(n1+"/"+n2+"="+(n1/n2));
//--------------2.大小---------------------------------
System.out.println("--输入两个数字:");
int num1 = superman.nextInt();
int num2 = superman.nextInt();
int num = num1 >= num2 ? num1 : num2;
System.out.println(num);
//----------------3.奇数-----------------------------------
System.out.println("输入一个数字:");
int number = superman.nextInt();
String result = number % 2 == 0 ? "偶数" : "奇数";
System.out.println(result);
}
}