第二周学习总结

目录

Day01

Day02

Day03

定义变量的注意事项:

强制转换类型

Day04

扩展算术运算符

基本赋值运算符

关系运算符

逻辑运算符(重点)

 逻辑双与&&和逻辑单与&有什么区别?

三目运算符

为什么要使用键盘录入数据?

Day05

位运算符

位运算符里面的移位运算符

流程控制语句

if语句


Day01

JDK简介

一个Java文件(文本文件)需要运行,需要操作系统支持(Java运行环境 JRE: Java Runtime Enviroment)
Jre--->包含了JVM(Java虚拟机--->假象计算机 (有自己的网络,有自己的内存))
www.oracle.com :oracle官网里面提供 jdk(Java development Kit :Java开发工具包)---包含了jre

JDK安装

 

 

 

javac是针对Java源文件进行编译指令!
java是针对 java源文件编号后的字节码文件进行执行的指令!
1)在jdk的bin目录里面新建一个HelloWorld.txt
2)编写Java代码的固定格式
class HelloWorld{ //Java中最基本的单元 "类" 定义格式 class 类名{},建议类名和文件名称的前缀一致
    //固定格式:Java程序的入口函数:它是能这个假象计算机(java虚拟机)进行调用的(执行)
    public static void main(String[] args){
        //Java中固定的输出语句 ""里面的内容不断改动的
        System.out.println("helloworld") ; //""称为 "字符串"
    }
}
3)将.txt文件扩展名改为 ".java"
4)打开dos窗口(dos控制台) windows键+r键--->输入cmd

5)盘符且为d盘

 

6)cd 指定目录路径名称,进入多级目录中

 

7)Javac java源文件名称 对Java文件进行编译过程

8)java .class文件的前缀 java虚拟机要将类进行运行

注意事项

在普通记事本书写java代码,默认保存的字符集utf-8 (一个中文对应是三个字节)
而dos控制台黑窗口里面的默认的字符集格式:"gbk",一个中文对应两个字节
在dos窗口中执行文件如果是"utf-8"出现乱码

 

补充:

classpath环境变量用于保存一系列类包的途径,它与path环境变量的查看和配置方式完全相同.

Day02

1 计算机概念

俗称"电脑",没有任何软件的计算机 "裸机"!
计算机的分类:
		台式计算机,笔记本,大型计算机(公司的机房)

2计算机硬件和软件

硬件:机械,光电元件的物理装置的总称: cpu,电源,主机箱,显卡,键盘,鼠标,主板,显示器....
软件:    
    系统软件:            
        pc端: Windows,Linux,Mac            
        移动端:android,ios    
    应用软件:            
        计算机安装的客户端软件:                        
        QQ客户端                        
        微信                        
        yy语音

3软件结构化分

C/S结构
		Client/Server:客户端和服务器端的交互
		典型特点:
				客户端必须升级,才能使用 服务器高版本的功能: 比如QQ
				
		一阶段:网络编程 TCP/IP 建立客户端和服务器通道!(Socket)		
B/S结构

		Browser/Server:浏览器端和服务器端的交互 
		
		二阶段一直到四阶段  以后研究B/S结构
		典型的特点:
				只要保证计算机上有浏览器,那么就可以访问服务器高版本功能!(浏览器本地可以不升级)
				程序员专用浏览器  
						"firefox 火狐"  /谷歌浏览器

4软件开发

就是借助开发工具与计算机语言完成软件的制作过程(制作过程中,需要有计算机语言相关的数据和指令!)
开发工具:
	开始---使用notepadd++ 高级记事本(写任何计算机语言代码的会有颜色标记),写代码
			使用dos控制台进行编译和运行(javac/java指令)  
	中期开始:就会使用  idea2021 (自动编译/很智能化)	
	二阶段:
			前端开发工具:HBuilderX或者vscode/webStorm(idea同一个公司的)

5人机交互

人和计算机之间沟通一种方式:
1)图形界面化:无论任何操作系统,都会有图形界面化(简单,直观,易于上手)

2)命令行方式:需要控制台 (Linux系统,Linux控制台终端输入一些命令)
		   windows系统:打开dos控制台,里面输入一些指令
		   
		  windows系统打开dos控制台的方式:
          1)开始菜单输入cmd---->命令行提示符---->以管理员身份打开
          2)推荐方式:
          		windows+r键--->输入"cmd"--->打开控制台

6JAVA语言发展史

詹姆斯~高斯林  :Java之父    1995年正式推出"Java" "爪哇"
Jdk版本:目前使用的8版本/9版本 自己新特性


Java应用领域:比较广泛 360行几乎全部涵盖进去

Java平台版本(重点)
	JAVASE:桌面应用程序 (一阶段)
				学习java语法/运算符/流程语句/面向对象的基础/高级特性(集合,io流,多线程,网络编程,反射,jdk新特性....) Java认知
	
	JAVAME:针对嵌入式设备提供一套解决方案 
		   (移动端用到的 早期塞班系统,安卓系统)  "看平台"
		   
	JAVAEE:针对企业级开发提供一套解决方案 (以后的方向)
			二阶段去学习企业级开发的核心技术
			
				Servlet(开源的原生框架  Server Applet:针对服务端程序开发(java服务连接器))
				servlet+jsp+jdbc
			三阶段:
            		Spring 
            		SpringMVC
            		Mybatis
            		
            		Springboot+vue 前后端分离
            		
           	四阶段:JavaEE分布式 SpringCloud 		

7Java语言特点

很多特点 :
		安全性,健壮性,分布式....(学习到后期体会)
比较容易理解:
		开源----->开发源代码---涉及的Java设计模式/数据结构/算法...
		跨平台---->跨操作系统(不同的操作系统上都可以编译和执行 java文件)

jdk安装目录的文件夹以及文件的介绍

8什么是Java中的标识符?它的组成规则有哪些

在Java语言中,给包,类名,接口名,方法名,变量名,常量等等起名字一种"字符序列"
	组成规则:
		1)见名知意,首字母大写.
		2)字母,数字,下划线,美元符号组成,不能用数字开头.
		3)不能同关键字重名!
9为什么要配置系统环境变量 ?
如果不配置系统环境变量,永远只能在jdk安装目录中bin目录里面去使用javac和java指令,对java编译和运行!
配置是为了让我们在任何目录中都能够使用javac和java指令!

10定义标识符遵循以下原则:

1)包名的所有字母一律小写,如cn.itcast.test.
2)类名和接口名每个单词的首字母都要大写.如ArrayList,Iterator.
3)变量名所有字母都要大写,单词间用_连接.
4)变量名和方法名的第一个单词首字母小写,从第二个单词开始每个单词首字母大写.
5)在程序中,应尽量使用有意义的英文字母单词定义标识符,以便于阅读.

11编写Java程序时,需要注意以下几点:

1)所有的关键字都是小写的.
2)不能使用关键字命名标识符.
3) const和goto保留关键字,虽然Java中没有任何意义,但程序中不能用来作为定义标识符.
4)true,false和null虽然不属于关键字,但它们具有特殊的意义,也不能作为标识符使用.

Day03

常量的分类:

1)字面值常量
     	 字符串常量 "xx"
     	 		"字符串"+任何数据或者任何数据+"字符串"="新的字符串", 中间+代表的是"拼接符号"
     	 字符常量 'a'
     	 		'a'  97
     	 		'A'  65 
     	 		'0'  48
     	 		参与运算找ASII码表的值 
     	 整数常量 :
          100,进制(二进制,八进制,十进制,十六进制,了解如何进制转换/8421码/有符号位的数据表示法)
         小数常量 3.14
         布尔常量:true/false
         空常量:null
     2)自定义常量 :final关键字

变量

什么是变量?
变量:在程序的执行过程中,其值
变量三要素:
 数据类型 变量名  =初始化值;
 
 数据类型 变量名;
 变量名 = 值;
 
数据类型:
	 基本数据类型:四类八种
	 	整数:  byte 		1个字节    -128~127
	 		  short      2个字节
	 		  int:默认   4个字节
	 		  long       8个字节 ,定义的时候,初始化值后面必须加标记L或者l
	 	浮点: 
	 		   float:单精度 	 4个字节
	 		   double:默认双进度 8个字节
	 	字符   char         占2个字节
	 	布尔   boolean	  占1个字节
	 引用数据类型:数组,类,接口
	  
什么隐式转换? 
byte,short,char三者之间不转换,一旦参与运算,优先提升int(考点)---long---float----doubel
boolean不参与任何类型转换

什么是显示转换(强转):将大的数据类型转换成小类型
   目标数据类型 变量名  = (目标数据类型)(初始化值/或者表达式) ;

定义变量的注意事项:

1)Java语言是一个"强类型"语言,它的语法结构非常严谨,不能重复定义变量
				而前端语言:javascript:弱类型语言,是可以重复定义变量;
		2)java语言中的所有语句结束了就必须带";"分号		
		3)定义变量代码书写格式:(代码风格)
				建议:一行一个变量,不要所有变量都写在一行上
		4)定义变量,但是在使用之前没有初始化,就会报错,系统认为这个变量没值!(仅仅适用于局部变量)

			局部变量:在方法(函数)中定义的变量,都是局部变量,必须使用之前给值!

强制转换类型

Java强转类型转换("强转")(显示转换):目的将大的数据类型转换成小的数据类型
			
	语法格式:这个格式不仅仅适用于基本类型,也适用于引用数据类型!
	
			目标数据类型  变量名  = (目标数据类型)(初始化值);
			
			举例:
					
				byte result = a + b ; // 
				优化为
				byte result= (byte)(a+b);

Day04

扩展算术运算符

扩展的算术运算符:++和--	 (使用比较多的)	
	
	两种用法:
	   1)单独使用----流程语句中--循环语句使用居多
			++或者--在数据的前面:
			++或者--在数据的后面:
						结论:无论在数据的前面还是数据的后面:都是自增1或者自减1
	   
	   2)参与运算使用
			++或者--在数据的前面:
						先进行自增或者自减,然后参与运算
			++或者--在数据的后面:
						先运算,然后当前变量本身自增或者自减

基本赋值运算符

基本的赋值运算符:=
	将=号右边的值赋值给左边指定类型的变量
	举例:
			int x = 10 ;
	将10赋值给int类型的变量x
	
	注意:
	    =不能写成==,==不能写成= (==是比较运算符)
		
	扩展的赋值运算符
		+=,-=,*=,/=,%=  :将等号右边的数据和左边的变量值操作,在赋值给左边的变量
		
		举例:
		    int x = 10 ;
			x += 20 ;----->等价于  x = x + 20 ;(前提条件:类型相同)
				将=等号左边的变量和右边的值相加在赋值给左边的变量x

关系运算符

关系(比较)运算符(最简单一种运算符)
	<,>,<=,>=,==,!=
	这些符号连接的表达式无论简单还是复杂的结果都是boolean值!
	
	==:在基本数据类型中,比较两个数据值是否相等
	
	注意事项:
			==不能写成 "="
			
			
	数学表达式
		3<=x<=5, 计算机语言中:必须使用逻辑符号连接!

逻辑运算符(重点)

逻辑运算符号(开发中经常用到)
	
	基本的逻辑运算符号:
	
		逻辑与&:具有并列条件,所有的条件必须同时满足才能成立!
				特点:有false则false (有一个不满足就不成立!)
				
				&符号连接的左边表达式如果是false,右边依然要执行,效率低!
		
		逻辑或|:  或的关系,只要满足一个条件即可成立
				特点:有true,则true
				
				|符号连接的左边表达式如果是true,右边依然要执行,效率低!
		逻辑异或^
				 特点:相同则为false,不同则为true
				 简单记 男女关系
						"男男" "女女"   false 
				        "女男"  "男女"  true
		逻辑非! 
				特点:非true,则false
				    非false,则true
					偶数个非是它本身!
			


	扩展的逻辑运算符:逻辑双与&& 逻辑双或||

 逻辑双与&&和逻辑单与&有什么区别?

共同点:有false,则false(并列条件,必须同时满足条件才成立!)
		区别:
			逻辑单与&:连接的表达式左边如果是false,右边依然要执行
			而逻辑双与&&  ,连接的表达式如果左边是false,则右边不执行(具有短路效果)
			
开发中:并列条件逻辑双与&&代替逻辑单与&,因为效率高!
	   或的条件:优先采用是逻辑双||代替逻辑单或|,效率高!

		逻辑双与||:左边为true(有true,则true),右边不执行,具有短路效果!

三目运算符

三元运算符(三目运算符)
	还有二目:一个表达式两个变量  x==y
	
	三元运算符的格式:
	(表达式)? 执行true的结果:执行false的结果; (后期在jdk源码中会见到)
	
	执行流程:
			1)表达式可以简单可以复杂,结果是boolean,判断表达式是否成立
			如果成立,则执行true的结果
			2)否则不成立,则执行false的结果;

为什么要使用键盘录入数据?

如果直接去定义变量,直接写死了,程序不灵活,jdk提供给我们 "文本扫描器"
可以键盘录入数据,让程序灵活一些 

键盘录入数据的操作步骤:
		1)在class类的上面书写 导包的格式
		固定格式: import java.util.Scanner;(在Java中只要不是java.lang包下的都需要导包)

		2)在main方法中,创建文本扫描器 :格式
			Scanner  文本扫描器变量名  =  new  Scanner(System.in) ;  固定格式
		3)提示并录入数据(没有提示类型,默认录入int)
			System.out.println("请输入一个数据:") ;
			int 结果变量= 文本扫描器变量名.nextInt() ;   nextInt():文本扫描器提供 录入int数据的方法
		4)使用结果变量;

Day05

位运算符

位运算符:它是针对数据直接进行运算的!
	基本的位运算符:
			位与&:有0,则0
			位或|:有1,则1
			位异或^:相同则为0,不同则为1
			反码~:所有的二进制位全部按位取反,0变1,1变0

位运算符里面的移位运算符

位运算符里面的移位符号(扩展)
			<<(左移):  
					将"<<"左边的数据向左移动指定的位数(补码进行移动),
					将高位丢弃掉,空位补0
					
					结论:将"<<"左边的数据乘以2的移动次幂  
			
			>>(右移):
					将">>"左边的数据使用补码向右移动,如果最高符位是0,左边补0;
					如果最高符号位是1,左边补1;
					
					结论:将">>"左边的数据除以2的移动次幂
			>>>(无符号右移):
					将">>>"左边的数据使用补码向右移动,无论最高符号位是1
				还是0,永远左边空位补0;

流程控制语句

Java中流程控制语句:
		顺序结构语句
				从main方法这个入口进去,代码由上而下依次加载!
				特例:
					只要在main方法之前,jvm退出了!
					jdk提供一个类System.exit(0) ;正常终止jvm(后面常用类中)
				
				
		选择结构语句
		循环结构语句

if语句

选择结构语句之If
		三种格式
			if(条件表达式){
				语句;
			}
			
			if(条件表达式){   (开发中使用居多的)
				语句1;
			}else{
				语句2;
			}
			
			if(条件表达式1){
				语句1;
			}else if(条件表达式2){
				语句2;
				...
				...
			}else{
				语句n;
			}
			
			
格式1的执行流程
			if(条件表达式){
				语句;
			}		
			
			条件表达式成立,则执行语句,否则不执行;
		if格式1应用场景:针对单个条件进行判断!
if格式2:
	if(条件表达式){   (开发中使用居多的)
		语句1;
	}else{
		语句2;
	}
	
	执行流程:
		1)首先判断条件表达式是成立,如果成立,则执行语句1
		2)否则,不成立,则执行语句2
		注意:else后面不能带()
		
举例:模拟用户登录操作(String类 第三周讲)
	1)有两个字符串,分别代表用户名和用户的密码
			String username = "admin" ; //用户名
			String password = "******" ; //密码
			
			
	键盘录入的时候,录入用户名和密码,和上面已经存在的用户名和密码进行对比
	如果都一致,提示"登录成功",否则登录失败!
			
			提示:
					引用数据类型:String代表字符串,比较的时候,比较的是两个内容是否相同
							jdk提供了String类的一个方法:字符串1.equals(字符串2)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值