1、当有浮点类型数据参与运算时,结果就会是浮点数类型,如果想得到浮点数类型的输入结果,就让浮点数参与运算。
2、思考: System.out.println(‘a’ + 1); // 输出结果? 98------用了a的ASCII数值
字符参与加法运算:其实是拿该字符在计算机中存储所表示的数据值来运算的。
3、a++(先运算后自加)和++a(先自加后运算)
4、^异或,相同为false,不同为true------特点:一个数,被另外一个数,异或两次,该数本身不变。(下例牛逼)
//现象: 相同为false, 不同为true
System.out.println(true ^ true);
System.out.println(false ^ false);
System.out.println(true ^ false);
System.out.println(false ^ true);
//面试题:实现两个变量的数值交换, 不允许定义三方变量
public static void main(String[] args) {
int a = 10;
int b = 20;
a = a ^ b; // 10 ^ 20 --> 30
b = a ^ b; // 10 ^ 20 ^ 20 --> 10
a = a ^ b; // 10 ^ 20 ^ 10 --> 20
System.out.println(a);
System.out.println(b); }
5、三元运算符:(比较表达式) ? 值A:值B,true就输入A,false就输入B
6、以下的short类型没有问题!!_
//扩展的赋值运算符隐含了强制类型转换。
//a+=20
//等价于
//a =(a的数据类型)(a+20);
short s = 1;
s += 1;
System.out.println("s:"+s);
7、switch语句,有个穿透的效果(穿透时,省略每个判断的break)
switch语句格式:
* switch(表达式) {
(表达式)就是后续的值1、2……
* case 值1: 注意 是: !!!
* 语句体1;
* break;
* case 值2:
* 语句体2;
* break;
* case 值3:
* 语句体3;
* break;
* ...
* default:
* 语句体n+1;
* break;
* }
*
* 格式解释:
* 表达式:byte,short,int,char。JDK5以后可以是枚举,JDK7以后可以是字符串
* case后面的值:是用来和表达式的值进行匹配的,只能是常量,不准许是变量,且不能重复定义
* break:表示中断的意思,用来结束当前的switch语句
* default:所有的值都和表达式不匹配,就执行default对应的内容
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个整数:");
int month = sc.nextInt();
switch (month) {
case 1:
case 2:
case 12:
System.out.println("冬季");
break;
case 3:
case 4:
case 5:
System.out.println("春季");
break;
case 6:
case 7:
case 8:
System.out.println("夏季");
break;
case 9:
case 10:
case 11:
System.out.println("秋季");
break;
default:
System.out.println("您的数据有误");
break;
}
8、学校举行运动会,百米赛跑成绩在10秒以内的学生有资格进决赛,根据性别分为男子组和女子组
1.创建键盘录入对象
2.定义double类型的变量score用于接收成绩,定义String类型的变量gender用于接收性别
3.给score和gender赋值
4.首先要判断是否能够进入决赛
5.在确保进入决赛的情况下,再判断是进入男子组,还是进入女子组
Scanner sc = new Scanner(System.in);
System.out.println("请输入成绩:");
double score = sc.nextDouble();
// 成绩是否在10秒之内
if(score <= 10){
// 键盘接受性别, 准备进行分组
System.out.println("请输入性别:");
String gender = sc.next();
if("男".equals(gender)){
System.out.println("进入男子决赛组");
}else if("女".equals(gender)){
System.out.println("进入女子决赛组");
}else {
System.out.println("您的输入有误");
}
}else{
System.out.println("很遗憾, 您没能进入决赛");
}
== 和equals()两种比较方法,在使用时要注意:
1、如果测试两个简单类型的数值是否相等,则一定要用“==”来比较;
2、如果要比较两个引用变量对象的值是否相等,则要用对象的equals()方法进行比较;
3、如果需要比较两个引用变量是否指向同一对象,则使用“==”来进行比较;
还有,对于自定义的类,应该根据情况覆盖其父类或Object类中的equals()方法,否则默认的equals()方法功能与“==”相同。
9、System.out.println(1 + ‘a’ + “hei hei hei” + ‘a’); // 结果? 98hei hei heia
问题:
下面的程序是否有问题,如果有问题,请指出并说明理由(必须掌握!!!!)
short s=1;
s=s+1; s是short类型,1是int类型,short和int相加的时候,会先将short提升为int
两个int相加的结果,还是int,把int结果赋值给short类型的变量,需要强转。
short s=1;
s+=1; 原因:底层自动做了强制类型转换 s = (short)(s+1);
10、if语句的小括号后面,不要误写分号------if语句的语句体,如果是一条语句,大括号可以省略不写,但不建议!
11、计算机存储的编码表:
ASCII : 最基本的一套码表
GBK : 国际标准转换码(国标) UTF-8 : 万国码 UTF-16 UTF-32
Unicode : Java语言所使用的码表囊括ASCII -> UTF-8 -> UTF-16 -> UTF-32
12、当字符串在使用加号和其他数据类型连接的时候, +号就不再是算数运算符,相当于连接符的作用
13、‘a’=97------‘A’=65------‘0’=48
//default : 即使写在了switch的最上方, 也是最后取匹配的.
/* switch语句的结束:
* 1. 遇到break就结束
* 2. 执行到了switch语句的右括号就结束*/
public static void main(String[] args) {
int x = 2;
int y = 0;
switch (x) {
default:
y++; // y=1 !!!!!!!!
case 3:
y++; // y=2 !!!!!!!!!!
case 4:
y++; // y=3 !!!!!!!!!!!!!
case 5:
y++; // y=4 !!!!!!!!!
}
System.out.println(y);
hdfs集群访问地址
http://192.168.100.201:50070/dfshealth.html#tab-overview
yarn集群访问地址
http://192.168.100.201:8088/cluster
jobhistory访问地址:
http://192.168.100.201:19888/jobhistory
按住shift加鼠标左键快速进入windows的powershell^_^^_^
cd /export/servers/hadoop-2.6.0-cdh5.14.0/
sbin/start-dfs.sh
sbin/start-yarn.sh
sbin/mr-jobhistory-daemon.sh start historyserver