变量的类型:
数值型:整型(byte,short,int,long)、浮点型(float,double)
非数值型:布尔类型(boolean),字符型(char),字符串类型(String),其他引用型
面试题1:java中,八大基本数据类型有哪些?
数值型:整型(byte,short,int,long)、浮点型(float,double)
非数值型:布尔类型(boolean),字符型(char)
1、赋值运算符 =
变量 变量类型 变量名 = 变量值;
常量 final 常量类型 常量名 = 常量值;
变量名规范: name 45asd aaa a_aa loginName
name2 _asda $asda admin asd
2、算术运算符 + - * / % ++ -- += -= *= /=
int a = 1;
int sum = (a++) + (++a) + (a--) + (++a) + (--a) + (a++) + (a--);
17 1 3 3 3 2 2 3
int a = 1;
int b = 2;
b += a; b = b+a;
int a = 1;
double aa = a;
自动类型转换:1、类型可以兼容 2、目标类型大于源类型
double b = 2.1;
int bb = (int)b;
强制类型转换:1、类型可以兼容 2、目标类型小于源类型
3、关系运算符
4、逻辑运算符
5、位运算符
6、条件运算符
基本数据类型,在做关系运算时:直接将变量值进行比较运算
引用型数据类型,在做关系运算时:比较的是地址
面试题2:==和equals的区别
1、 ==通常做数值的相等关系比较,
equals通常做引用型数据类型的相等比较
2、 ==比较的是变量的地址是否是同一个地址
equals比较的是变量指向的值是否是相同的
面试题3:如何以最快的方式求出2的3次方?
System.out.print(2<<2);
面试题4:6&7=6 6|7=7
110 110
&111 |111
110 111
面试题5:&和&&的区别
1、&表示逻辑且,无论第一个操作数是否为true,第二个操作数都执行
&&表示短路且,第一个操作数为false时后面操作数不执行,结果返回false
2、&还可以用作位运算,&&只能做逻辑运算
逻辑运算符:或、且、非
或: |逻辑或 ||短路或
且: &逻辑且 &&短路且
(4>3)||(3>4) =>true:
或运算:只要有一个为true,整个结果为true
(3>4)&&(4>3) =>false:
且运算:只要有一个为false,整个结果为false
package com.fourjava; /** * Zuoye3.java * 陈志洪 * 2018.12.25 */ import java.util.Scanner; public class Zuoye3 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); double benjin; //定义本金 System.out.println("请输入本金:"); //输出一句提示“请输入本金” benjin=sc.nextDouble(); //接收控制台输入的数值 System.out.println("本金为:"+benjin); //输出本金 double oneyear = benjin*1.0225; //定义并计算一年的本息 double twoyear = benjin*0.027*2+benjin; //定义并计算二年的本息 double threeyear = benjin*0.0324*3+benjin; //定义并计算三年的本息 double fiveyear = benjin*0.036*5+benjin; //定义并计算五年的本息 System.out.println("存取一年后的本息是:"+oneyear); //输出一年后的本息 System.out.println("存取二年后的本息是:"+twoyear); //输出二年后的本息 System.out.println("存取三年后的本息是:"+threeyear); //输出三年后的本息 System.out.println("存取五年后的本息是:"+fiveyear); //输出五年后的本息 } }
package com.fourjava; /** * Lianxi.java * 陈志洪 * 2018.12.25 */ import java.util.Scanner; public class Lianxi { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int r; //定义一个变量r System.out.println("请输入一个四位数的会员卡号:"); //输出一句提示“请输入一个四位数的会员卡号” r = sc.nextInt(); //接收控制台输入的值 int qianwei = r/1000; //定义并计算千位的数值 int baiwei = r/100%10; //定义并计算百位的数值 int shiwei = r/10%10; //定义并计算十位上的数值 int gewei = r%10; //定义并计算个位上的数值 int sum = qianwei +baiwei + shiwei + gewei; //定义并计算各个位数值之和 System.out.println(sum>20? "中奖了":"谢谢惠顾"); //输出利用条件运算符判断大于20的为中奖,否则为谢谢惠顾 } }
第三章预习
循环结构:
循环结构是根据判断条件来重复性的执行某段代码。java提供了while语句、do-while语句、for语句来实现循环结构
if语句的语法格式
if(表达式){
语句
}
if-else语句的语法格式
if(表达式){
语句1
}else{
语句2
}
多分枝if语句的语法格式如下
if(表达式){
语句1
}else if(表达式2){
语句2
}else{
语句3
}