The 1st day——2017.11.25.
一.JAVA简介:
1.JAVA之父-詹姆斯.高斯林(“高司令”);
2.JAVA优势:(1)跨平台(“一次编译,到处运行”);(2)健壮,安全;(3)分布式;(4)多线程;(5)面向对象;(6)高性能。
3.环境变量的设置:(1)添加JAVA_HOME环境变量,指向JDK安装目录;(2)修 改path: 用于指定操作系统的可执行指令的路径。
4、JDK的安装及java环境
JDK:java开发工具集;
JRE:java运行环境。
步骤:首先,下载JDK、JRE并将其放在较为空余的磁盘。
接着,设置环境变量,在计算机图标中右键选择“属性”—>"系统属性"—>"高级"—>"环境变量",添加变量名“JAVA_HOME”,指向JDK安装目录;
继续,在path下编辑变量值,其末尾加上";%JAVA_HOME%\bin;",用于指定操作系统可执行可执行指令的路径。
二.DOS命令:
win+R:敲“cmd”回车进行如下操作
1.切换目录:cd /d 目标目录
2.编译java源代码:javac -d . java源文件名称
3.运行.class文件(字节码文件):java 包.class类名
eg:
三.变量:每次变量使用前必须要先申明,然后赋值,方可使用。eg:int i=20;
四.数据类型的转换:
1.自动转型:小范围转换成大范围数据
大范围数据类型 变量名=小范围数据类型的值 eg:long=5;
2.强制转型:大范围数据类型转换成小范围数据
小范围数据类型 变量名=(小范围数据类型)大范围数据类型的值; eg: int a=(int)5L;
3.java语言整型常量默认为int;java浮点型常量默认为double型;char字符本质是数字;boolean类型不能转换成任何其它数据类型。
4.转义字符:
五.运算符
1.易混淆运算符:
(1)自增运算符:++
a++:先保存旧值,再自增,用旧值参加运算;++a:直接自增,用自增后的值参与运算。
(2)短路与&&: 如果前面的判断结果为false,则后面的判断不再执行;
非短路与&:每一格判断逻辑都要执行
(3)短路或|| :如果前面的判断结果为true,则后面的判断不再执行;
非短路或|:每一个判断逻辑都要执行。
2.位运算符:
***在计算机中数字的运算都是按照“补码”的形式运算的。
(1) 正数的原码、反码、补码、是相同的。
(2)负数的反码是其原码除了符号位以外的二进制位取反,其补码是反码加1。
(3)符号位是最左边的那个二进制位,0代表正数,1代表负数。
(4)按位与:& 两个二进制位都为1,结果才为1,其余结果为0;
(5)按位或:| 只要有一个二进制位为1,结果就为1,而两个二进制位都为0,则结果为0;
(6)按位异或:^ 相同的两个二进制结果为0,不同的二进制结果为1;
(7)按位取反:~0变1,1变0。
(8)右移:>>右移后,左边的二进制位用符号位来补,正数补0,负数补1;
(9)左移:<<左移后,右边的二进制位用0来补;
(10)无符号右移:>>>右移后,左边的二进制位用0来补。
3.三目运算符:结果返回boolean值的表达式?"结果为true时内容":"结果为false时内容"。
The 2nd day——2017.11.26.
五大结构语句的使用:
一.IF结构:
1.if语句
if(条件表达式){
表达式结果为true,执行此处代码
}
2.if-else语句
if(条件表达式){
表达式结果为true,执行此处代码
}else{
表达式结果为false,执行此处代码
}
3.if-else if-else if-..-else语句
if(条件表达式){
}else if(条件表达式){
}else if(条件表达式){
}...
else{
//以上表达式结果均为false,执行此处,此分支可选。
}
***这个结构中只执行第一次表达式结果为true的那个分支,如果所有分支的表达式为false,则执行最后面的else分支,else分支可选。
eg:/*多重IF*/
package org.westos.ifdemo;
import java.util.Scanner;
public class MuIF {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in); // 用此“扫描器”接收键盘输入
System.out.print("请输入考试成绩:");
int score=scan.nextInt(); // 接收键盘输入的整数类型,输入完成之前一直阻塞
if(score>=90){
System.out.println("优秀!");
}else if(score>=80){
System.out.println("良好");
}else if(score>=70){
System.out.println("一般");
}else if(score>=60){
System.out.println("及格");
}else{
System.out.println("不及格,准备补考!");
}
scan.close();
}
}
二.Switch结构:
switch(表达式){
case 常量1;
代码1;
break;
case 常量2;
代码2;
break;
...
default;
代码 ;
break;
}
***规则:(1)返回值必须是:int, byte, char,short,String,enum;(2)case子句中的取值必须是常量,且所有case子句中的取值应是不同的;(3)default子句是可选的,break语句用来在执行完一个case分支后使程序跳出switch语句块。
eg:/*switch表达式的返回值必须是byte,
short,int, char,String,enum之一*/
package
org.westos.switchdemo;
import java.util.Scanner;
public class SwitchDemo {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
System.out.print("请输入季节:");
String season=scan.next();
switch(season){
case "春天":
System.out.println("春暖花开");
break;
case "夏天":
System.out.println("夏日炎炎");
break;
case "秋天":
System.out.println("硕果累累");
break;
case "冬天":
System.out.println("白雪皑皑");
break;
default:
System.out.println("输入季节有误!");
}
scan.close(); // 关闭
}
三.For循环
格式:for(int i=0;i<100;i++){
System.out.println("好好学习!");
}
***在循环结构中,break跳出整个循环,continue跳出当前循环。
eg:/*实现1-100能被3整除不能被5整除的数的和*/
package org.forloop;
public class DivideFor {
public static void main(String[] args) {
int sum=0;
for(int i=1;i<=100;i++){
if(i%3==0 && i%5!=0){
sum+=i; // 相当于sum=sum+i
}
}
System.out.println("结果是:"+sum);
}
}
四.While循环
格式:
while( 条件表达式语句){
循环体语句
}
***先判断条件,再决定是否循环。
eg:/*while exam*/
package org.whiledemo;
import java.util.Scanner;
public class WhileExam {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
int count=0; // 用来记录考试次数
System.out.print("请输入当前成绩:");
int score=scan.nextInt();
while(score<60){
count++;
System.out.println("当前不及格,第"+count+"次补考");
System.out.println("***补考中***");
System.out.print("输入补考后的成绩:");
score=scan.nextInt();
}
System.out.println("恭喜,考试通过!");
scan.close();
}
}
五.Do while循环
格式:do{
循环体语句;
}while(条件表达式);
***至少执行一次循环体,再判断条件,如果条件判断的结果为true,则再次循环,否则,停止循环。
eg:/*do while*/
package org.whiledemo;
import java.util.Scanner;
public class DoWhile {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
int score=0;
do {
System.out.print("请输入考试成绩:");
score=scan.nextInt();
} while (score<60);
System.out.println("恭喜,考试通过!");
scan.close();
}
}