关键字:
关键字全部为小写字母,程序员不能将关键字定义为标识符。
常量:
整数常量、浮点型常量、布尔常量(true,false)、字符常量(单引号 如‘a’)、
字符串常量(双引号)、null常量、符号常量
1)、常量只能赋一个值
2)、声明时在前面加final
3)、常量名全部用大写
4)、不同字符使用下旬线分隔
标识符的命名规则:
由字母、数字、下户线_或美元符号组成。 不能以数字开头。
不能与关键字、布尔值(true、false)、和null相同
坚持见名知意和驼峰命名法。
java中基本数据类型有哪几种?
数值型:(1)整数类型【byte、short、int、long、】 (2)浮点类型【float、double】
字符型: 【char】
布尔型:【boolean】
String是字符串,是引用数据类型
超出int取值范围,必须在整数后面加L , 浮点型默认是double类型,float需要在数字后面加F
变量:
变量是在程序运行中其值可以改变法的量,它是java程序的一个储存单元。
使用变量格式 : 变量类型 变量名 【=初始值】
类型转换:
同类型才能转换,字符串不能转换成int类型。int和double都有时,结果自动转换为double,自动转换大的数据类型。
string和其他类型相+ 是字符串相拼
强制转换的格式
byte b = (byte)(a + b);
键盘录入的基本步骤
A:导包(位置放到class定义的上面)
import java.util.Scanner;
B:创建对象
Scanner sc = new Scanner(System.in);
C:接收数据
int x = sc.nextInt(); // nextIlnt是获得一人整数型 next是获得一个人字符串,
nextDouble是获得可以带小数的数值 hasNext是判断是否有输入数
/** * 从控制台输入一个五位数,计算各个数为之和 * @author lenovo *12月21日 */import java.util.Scanner; // 导入Scanner类public class Yunsuan12_21 { public static void main(String[] args) { System.out.println("输入五位数"); Scanner input =new Scanner(System.in); //System.in 代表键盘输入 int num = input.nextInt(); // nextInt()代表获取从键盘输入的一个整数,并赋值给num变量 System.out.println("数字是:"+num); //利用 / 和 % 运算符获得每位数字 int gewei =num%10; // 分解获得个位数 int shiwei = num/10%10; // 分解获得十位数 int baiwei = num/100%10; // 分解获得百位 int qianwei = num/1000%10; // 分解获得千位 int wanwei = num/10000; // 分解获得万位 // 利用 + 运算符号来计算各位之和 int sum=gewei+shiwei+baiwei+qianwei+wanwei; System.out.println("各位之和是:"+sum); }}
算数运算符:
+,-,*,/,%,++,--
%:取余运算符。得到的是两个相除数据的余数。
/:除法运算符。得到是两个相除数据的商。
使用场景: %:判断两个数据是否整除。
字符参与运算,其实是拿该字符对应的数值来操作‘a’ = 97 ‘A’ = 65 ‘0’ =48
++,--运算符:对变量做加1或者减1的操作,++或者--既可以放在变量的后面,也可以放在变量的前面
public class Caogao { public static void main(String[] args) { int a =1; int b =(a++)+(++a)+(++a)+(a++)+(a++)+(++a); // 1 + 3 + 4 + 4 + 5 + 7 =24 System.out.println(b); }}
赋值运算符
基本的赋值运算符:=
扩展的赋值运算符:+=,-=,*=,/=,%=
+=: a+=20;相当于a = (a的数据类型)(a + 20);
两个数互换:
/** * 交换两个数 * @author lenovo *12.25 */public class JiaoHuan { public static void main(String[]args){ System.out.println("输出互换前手中的纸牌"); int a = 10; int b = 8; System.out.println("左手中的纸牌是:"+a+"\n"+"右手中的纸牌是:"+b); System.out.println('\t'); //输出一行空格 System.out.println("输出互换后手中的纸牌"); int c=a; //把a的数给c 一个变量只能存储一个数值 a=b; //把b的数给a b=c; //把c的数给b System.out.println("左手中的纸牌是:"+a+"\n"+"右手中的纸牌是:"+b); } }
关系运算符
==,!=,>,>=,<,<=
关系运算符的结果都是boolean型,也就是要么是true,要么是false。
>,>=,<,<=是能用于数值类型 。==,!=,也能用于字符
引用数据类型,在做关系运算时,比较的是地址
public class Caogao { public static void main(String[] args) { // == != ,< > >= <= int a = 5; int b = 6; double c= 5.0; String aa = new String("5"); String bb = new String("5"); System.out.println(a==c); //1 数值相同就行 System.out.println(aa==bb); //2 “5”是字符串是引用数据类型,这里比较是地址 System.out.println(aa.equals(bb)); //3 String aaa = "5"; String bbb= "5"; System.out.println(aaa==bbb); //4 char d = 'a'; //字符都有自己的阿斯克码,可以转换为数字 int e = 97; System.out.println(d==e); //5 }}
逻辑运算符
逻辑运算符有哪些 &,|, ^, ! && ,||
&逻辑与:有false则false。
|逻辑或:有true则true。
^逻辑异或:相同为false,不同为true。
!逻辑非:非false则true,非true则false。
特点:偶数个不改变本身。
逻辑运算符&&与&的区别
A:&&和&的区别?
a:最终结果一样。
b:&&具有短路效果。左边是false,右边不执行。
&是无论左边是false还是true,右边都会执行
B:||和|的区别?
a:最终结果一样
b:||具有短路效果.左边是true,右边不执行
|是无论左边是false还是true,右边都会执行
条件运算符
A:格式
(关系表达式)?表达式1:表达式2;
如果条件为true,运算后的结果是表达式1;
如果条件为false,运算后的结果是表达式2;
B:示例:
获取两个数中大数。
int x=3,y=4;
int z = (x>y)?x:y;//z变量存储的就是两个数的大数
位运算符:
-——————————————————————————————
面试题:java中8大数据类型:
数值型:(1)整数类型【byte、short、int、long、】 (2)浮点类型【float、double】
字符型: 【char】
布尔型:【boolean】
面试2:
==和equals的区别 : 1.==通常做数值的相等关系比较, equals通常做引用数据类型的比较。
2.==比较的事变量的地址是否是同一个地址
equals比较的是变量指向的值是否相同。
面试3:如何用最快的方法求出2的三次方
System.out.println(2<<2);
面试题4:6&7=? 6|7=?
110 110
&111 |111
110=6 111=7
5: &和&&的区别
&&具有短路效果。左边是false,右边不执行。
&是无论左边是false还是true,右边都会执行
&可以用作位运算, &&只能做逻辑运算