JavaEE学习第一周总结

Day_01

1.1什么是程序

        程序即为模拟现实世界,解决现实问题的计算机指令的有序集合。

1.2Java的历史

        1995年,詹姆斯、高斯林  (Java之父)

        1998年,JDK1.2     J2SE J2EE J2ME

        2004年,JDK1.5---->java5.0 JavaSE JavaME JavaEE 

        2006年被Oracle收购

        2014年Java最经典的版本(最后一个免费版本)

1.3Java的特点

        1.面向对象:一切皆为对象

        2.简单性:自动管理内存,逻辑结构清晰

        3.跨平台:跨操作系统

1.4Java的执行机制

        先编译再解释,设计理念 Write Once Run Anywhere(一次编译到处运行)

1.5Java的JDK,JRE,JVM

        JDK: Java开发工具箱 包括了JRE+类库
        JRE: Java运行环境   包括了JVM+解释器
        JVM: Java虚拟机     用于执行Java代码

 包含关系如图示

 1.6代码注释

         注释:1.单行注释  2.多行注释  3. 文档注释
        1.单行注释:在当前有效果  //
        2.多行注释:多行有效果   /* */
        3.文档注释:多行有效果,差别在于,可生成文档  /**   */

  1.7标识符命名 

        标识符:在程序中自己命名的单词, 例如:类名,函数名,包名,变量
        组成部分:
        由数字、字母、下划线和$组成,数字不能开头
        不能是关键字(public,class等),保留字(goto,const等)

        关键字:在程序中代表特定含义的单词; 
        保留字:现在没有用,但可能以后有用

        标识符约定规则:
        类名:首字母大写,如果多个单词组成,其他字母首字母大写---大驼峰
        函数名和变量名:首字母小写,如果多个单词组成,其他字母首字母大写---小驼峰
        包名:包名全小写,运行需通过.去拼接

        常量:全大写,用_拼接

 1.8HelloWorld

public class hello {
	public static void main(String[] args) {
		System.out.println("HelloWorld!");
	}
}

Day_02

2.1变量

        变量的定义: 数据类型  变量名 = 数值;

//变量定义方式有三种:
//1. 先声明,再赋值
int a;
a = 5;
System.out.println(a);  //5

//2. 声明的同时进行赋值(最常用)
int b = 3;
System.out.println(b);  //3

//3. 多个变量同时声明与赋值
int c=2,d=6,e=7;
System.out.println(c);  //2

2.2数据类型

         基本数据类型分为八大数据类型,其中整数占四种,分别是byte,short,int,long

        小数两种:float,double,布尔类型boolean,字符char

 整数类型的取值范围

 小数类型的取值范围

        boolean 只有真或假(true or false)

        char     ASCII码和Unicode码  (0~65535)  

2.3转义字符

        \n 换行符

        \t 缩进符

        \\ 反斜线

        \' 单引号

        \''  双引号

2.4引用数据类型之字符串

String a = "hello";
System.out.println(a);
		
String b = "world";
System.out.println(b);

2.5类型转换

         1.自动类型转换

                1.1.转换的类型要兼容:整数,小数,字符
                1.2.目标类型大于源类型

         2.强制类型转换

                2.1.转换的类型要兼容:整数,小数,字符
                2.2.目标类型小于源类型

byte bb = (byte)i;  //int转byte--强转
int ii = (int)l;    //long转int---强转
long ll = (long)f;  //float转long--强转

               

//类型转换规则:
//1.整数长度足够,数据完整
int i = 5;
byte b = (byte)i;
System.out.println(b);  //5

//2.整数长度不够,数据截断--(隐患)
int ii = 258;
byte bb = (byte)ii;
System.out.println(bb);  //2

//3.是负数需要进行换算(原码,反码,补码)
int iii = 130;
byte bbb = (byte)iii;
System.out.println(bbb);  //-126

(扩展了解)关于负数(源码、反码、补码)(自己还需再理解,现在已经忘记怎么操作了)

        补码:符号位强制为负数(符号位为1),以补码形式呈现

        反码:除符号位外全部取反

        源码:将反码加一查看结果

2.6 运算符

        2.6.1算数运算符

                加减乘除余       +   -    *    /   %

        2.6.1赋值运算符

                = 直接赋值        +=   -=   *=    /=  %=   求和后赋值,求茶后赋值·······

        2.6.3关系运算符

               >    <    >=    <=    ==  !=      大于   小于   大于等于  小于等于   等于   不等于   

                结果均为boolean

        2.6.4 单目运算符(一元运算符)自增自减

                I++    后置自增,先计算表达式的值,变量后+1    (先打印后自增)

                ++i    前置自增,变量先+1,再计算表达式的值        (先自增再打印

                i--     后置自减,先计算表达式的值,变量后-1

                --I    前置自减,变量先-1,再计算表达式的值

        2.6.5四位数的各个位数的位置数值的取法

int gewei = custNo % 10; 
int shiwei = custNo / 10 % 10; 
int baiwei = custNo / 100 % 10; 
int qianwei = custNo / 1000;

        2.6.6逻辑运算符

                两边操作数为布尔类型,进行逻辑运算后,最终结果依然为布尔类型
                运算符包括: &&   ||   !
                &&     且        操作数两边,如果一个为false,结果为false

                ||        或        操作数两边,如果有一个为true,结果为true

                !      非        操作数为true,则结果为false;取反操作

        2.6.7三目(元)运算符

                格式: (关系表达式)?值1:值2

int a = (5>3)?5:3;
System.out.println(a);  //5

        小结:优先级: ()小括号优先级最高; ----->算数运算符-----> 关系运算符------>逻辑运算符------>赋值运算符

2.7数据类型提升

        1.进行算数运算时:最终的结果为操作数中最大的类型,只有short和byte结果为int            2.String类型拼接运算:  String类型+任意类型的值,最终都为String类型

 2.8控制台录入     

        控制台录入操作步骤:1.导包  2.实例化对象  3.获取录入的值

                import java.util.Scanner;  //1.导包

                Scanner sc = new Scanner(System.in);  //2.实例化对象
                3.获取录入的值
                String s = sc.next();  //接收字符串  阻塞方法  (常用)
                int s = sc.nextInt();       //接收int类型值  (常用)
                double s = sc.nextDouble();   //接收double类型的值
                char s = sc.next().charAt(0);  //接收第1个字符,0代表第一个字符,1代表第2个..

Day_03

3.1  if选择结构

       

//单分支
if (){
}      

//双分支
if () {

} 
else if(){

}
//多分支
if () {

} 
else if(){

}else if(){

}else if(){

}
//嵌套if
if () {
    if () {

    } 
} 

//多分支嵌套
if () {
    if () {

    } 
    else if(){

    }else if(){

}
} 

部分习题代码

/* 3 if else if else*/
		/*输入金额,判断是否足够购买商品
		预算 > 100万   奔驰S级
		预算 > 50万     宝马5系
		预算 > 10万     奥迪A4L
		预算 < 10万     捷安特自行车
		*/
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入金额(单位:万元):");
		int i1 = sc.nextInt();
		if (i1>100) {
			System.out.println("买奔驰S级!");
		}
		else if(i1>50){
			System.out.println("买宝马5系!");
		}
		else if(i1>10){
			System.out.println("买奥迪A4L");
		}
		else if(i1<10){
			System.out.println("买捷安特自行车");
		}
	}
public static void main(String[] args) {
		/* 4 嵌套if 
		运动会百米赛跑,用时10秒之内的人进入总决赛,
		否则淘汰,进入总决赛后分男,女赛,输出进入的是男子组决赛还是女子组决赛
		*/
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入百米赛跑运动员成绩:");
		double i1 = sc.nextDouble();
		System.out.println("请输入百米赛跑运动员性别:");
		char c1 =sc.next().charAt(0);
		if (i1<10) {
			System.out.print("恭喜!");
			if (c1=='男') {
				System.out.println("进入男子组决赛!");
			}else {
				System.out.println("进入女子组决赛!");
			}
		} else {
			System.out.print("很遗憾,没能进入决赛,请再接再厉!");
		}
	}
public static void main(String[] args) {
		/*/* 4 嵌套if 
		从家里上学,
		1、moeny>=100,做车,moeny>=1000曹操专车,moeny<1000滴滴拼车
		2、没有moeny 就走路
		到学校
		*/
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入零花钱:");
		double i1 = sc.nextDouble();
		
		if (i1>=100) {
			System.out.print("坐车!");
			if (i1>=1000) {
				System.out.println("坐曹操专车");
			}else {
				System.out.println("坐滴滴拼车");
			}
		} else {
			System.out.print("没钱,走路吧");
		}
	}

3.2switch 分支语句(标号跳转语句)

        switch(变量){
            case 值1:
                语句体1;
            case 值2:
                语句体2;    
                        break;
            case 值n:
                语句体n;    
            default: (类似if多分支的最后一个else)
                结束的语句体;
        }

部分代码

public static void main(String[] args) {
		/*
		 * /* 5 switch 输入数字,输出今天星期几
		 * 
		 */
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入数字(1~7):");
		int i1 = sc.nextInt();
		switch (i1) {
		case 1:
			System.out.println("星期一");
			break;
		case 2:
			System.out.println("星期二");
			break;
		case 3:
			System.out.println("星期三");
			break;
		case 4:
			System.out.println("星期四");
			break;
		case 5:
			System.out.println("星期五");
			break;
		case 6:
			System.out.println("星期六");
			break;
		case 7:
			System.out.println("星期日");
			break;
		default:
			System.out.println("程序结束");
			break;
		}
	}
           /*
			 * 7、 四则运算器 题目要求:要求操作符和两个操作数,
			 * 执行相应的四则运算。 
			 * 解题思路 : (1) 输入要进行运算的符号 + - * /
			 * (2)输入要运算的2个数值 (3)根据 + - * / 
			 * 判断做 2个数的对饮运算
			 */ 
            System.out.println("请输入要进行的运算(+-*/)");
			char c1 = scanner.next().charAt(0);
			System.out.println("请输入操作数1");
			int i5 = scanner.nextInt();
			System.out.println("请输入操作数2");
			int i6 = scanner.nextInt();
			switch (c1) {
				case '+':
					System.out.println("加法运算结果:"+(i5+i6));
					break;
				case '-':
					System.out.println("减法运算结果:"+(i5-i6));
					break;
				case '*':
					System.out.println("乘法运算结果:"+(i5*i6));
					break;
				case '/':
					if(i6!=0) {
						System.out.println("除法运算结果:"+(i5/i6));
					}else {
						System.out.println("除法数字有误");
					}
					break;
					default:
						System.out.println("错误!程序结束!");
			}
 //请输入1~12月份数字,打印对应的天数
System.out.print("请输入月份:");
Scanner sc = new Scanner(System.in);
int month = sc.nextInt();
switch(month){
	case 1:
	case 3:
	case 5:
	case 7:
	case 8:
	case 10:
	case 12:
		System.out.println("31");
		break;
	case 2:
		System.out.println("28");
		break;
	case 4:
	case 6:
	case 9:
	case 11:
		System.out.println("30");
		break;
	default:
		System.out.println("输入有误~");
		break;
}

3.3局部变量

        

//局部变量:定义在方法内的变量,必须先赋值才能使用
//int a;  //声明不赋值,则不能使用
//int a = 3;
//System.out.println(a);
//作用域:变量的有效范围,定义处到}结尾前

//注意:在重叠作用域中,不能定义同名变量
//int a = 5;
{
	int a = 2;
	System.out.println(a);  //2
}

{
	int a = 3;
	System.out.println(a);  //3
}

Day_04-05

循环结构 

4.1while循环

                语法:初始化语句;   //1.初始化语句
                while(条件判断){ //2.条件判断,条件成立,则执行循环体;否则跳出循环
                    循环体语句;  //3.满足条件则执行
                    增量语句;    //4.为条件判断服务,用于改变条件判断的变量值;再回到第2句
                }

执行次数0-n

部分代码

/*
		 * 使用循环和if,输出1-100,除开所有个位带3的数值,并求和
		 * 
		 */
		System.out.println("=====判断一=======");
		int i1 = 1;
		int sum = 0;
		while (i1 <= 100) {
			if (i1 % 10 != 3) {
				sum = i1 + sum;
			} else {
				System.out.println(i1);
			}
			i1++;
		}
        System.out.println("======偶数和=======");
		    int i3 = 1;
		    int sum3 = 0;
		    while (i3 <= 100) {
			    if (i3 % 2==0) {
				sum3 = i3 + sum3;
			    }
			    i3++;
		    }
		    System.out.println(sum3);
	    }

4.2 do while循环

执行次数1-n

部分代码

 /* 3
		 * do while 学院先做1张测试题,老师判断是否合股,不合格就继续做,直到合格 
		 * /
        System.out.println("======3========");
		Scanner input=new Scanner(System.in);
		int i=0;
		char c ;
		do {
			System.out.println("请输入分数");
			 i=input.nextInt();
			System.out.println("分数是"+i);
			System.out.println("请判断是否合格,是输出y,否则输出n");
			 c =input.next().charAt(0);
			 if (c=='n') {
				 System.out.println("不合格,重来");
			}
		} while (c!='y');
		System.out.println("恭喜过关");
	}

周总结

        复习回顾了Java的部分基础知识,重新敲了n遍基础代码,逐渐培养自己的程序思维思考模式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值