【java_week01】

5 篇文章 0 订阅
4 篇文章 0 订阅

在这里插入图片描述

1.java运行环境

1.1JDK环境安装

JDK(Java Development Kit)是Java程序开发工具包,包含JRE和开发人员使用的工具。
JRE(Java Runtime Environment):是Java程序的运行时环境,包含JVM和运行时所需要的核心类库。
JVM(Java虚拟机--->假象计算机(有自己的网络,有自己的内存))

1.1.1注意事项

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

1.1.2java与java指令的区别

javac与java指令

1.1.3添加注释comment

注释:就是它对代码的解释和说明。其目的是让人们能够更加轻松地了解代码。为代码添加注释,
是十分必须要的,它不影响程序的编译和运行。 
Java中有单行注释和多行注释
	• 单行注释以 //开头换行结束
	• 多行注释以 /* 开头以*/结束
	• 文档注释以/**开头以*/结束

2.计算机基础

计算机概念:俗称"电脑",没有任何软件的计算机 "裸机"!

计算机硬件

  计算机系统中由电子,机械和光电元件等组成的各种物理装置的总称。

计算机软件

• 计算机软件是使用计算机过程中必不可少的东西,计算机软件可以使计算机按照事先预定好的顺序 完成特定的功能,计算机软件按照其功能划分为系统软件与应用软件 
	• 系统软件: DOS(Disk Operating System), Windows, Linux, Unix, Mac, Android, iOS 
	• 应用软件:office QQ聊天 YY语言扫雷

2.1软件结构划分

C/S结构

Client/Server:客户端和服务器端的交互
典型特点:
		客户端必须升级,才能使用 服务器高版本的功能: 比如QQ

B/S结构

      Browser/Server:浏览器端和服务器端的交互 
典型的特点:
		只要保证计算机上有浏览器,那么就可以访问服务器高版本功能!(浏览器本地可以不升级)

2.2Dos窗口

进入方法有两种:
方法一、在Windows搜索框搜索cmd,打开命令提示符,即可进入。
方法二、win+R,输入cmd,即可进入
Dos窗口常用的指令(指令不区分大小写)

磁盘号+:         //进入磁盘
cd 目录地址       //进入目录
cd /             //退回根目录
cd ..            //退回上一级目录
md               //创建新的文件夹
copy con 文件名  //创建文本文件
rd               //删除空文件夹
Del              //删除文件
rd /s            //删除文档,需要询问
rd /s/q          //删除文档,不需要询问
cls              //清屏
dir              //展示目录
type           //查看文件内容

3.java基础语法

3.1java发展史

1.Java起源于19952.Java之父詹姆斯高斯林
3.Java平台版本(重点)
Java EE:针对桌面应用开发和商务应用开发的一种方案
java ME;针对嵌入式应用开发的一种方案(移动端:手机)
java SE: 针对企业开发的一种方案

3.2java语言特点

简单性 解释性 
面向对象 高性能 
分布式处理 多线程 
健壮性 动态 
结构中立 安全性 
开源 
跨平台

3.3Java系统环境的配置path

1.配置环境变量的原因

为了让我们在任何目录中都能够使用javac和java指令

2.配置方式1

1)复制jdk安装目录的bin目录的路径	举例:D:\develop_software\Java\jdK_8\bin
	2)此电脑--->右键属性---->高级系统设置---->环境变量----->系统环境---->找到path将上面路径复制到path中(放在最前面)
	3)退出dos窗口,重写打开新的dos窗口,在任何目录中进行编译和运行!

方式1配置的弊端

1)不安全,当jdk版本切换,需要手动更改系统变量中path,可能会导致别的环境变量被误删!
	2)这种方式后期 学习"web应用服务器" tomcat(用java编写的),启动会闪屏(启动失败),tomcat服务器启动的时候会寻找系统变量是否有"JAVA_HOME"的变量,如果存在,tomcat启动不会闪屏!

配置方式2(推荐方式)

1)复制jdk安装路径(不需要bin目录的路径)
			举例:D:\develop_software\Java\jdK_8
	2)此电脑--->右键属性---->高级系统设置---->环境变量----->系统环境---->
		新建一个变量名
			变量名 JAVA_HOME
			变量值 上的jdk的安装路径
	3)在path中的路径上使用 %JAVA_HOME%\bin	

优点:

1)安全,即使jdk升级,不需要改动系统变量中path路径,只需要更改JAVA_HOME对应的路径
  	2)后期使用tomcat web服务器的时候,不会出现闪屏!

3.Path环境变量的执行流程

1)先要去在指定目录中(文件夹)找是否存在这个 xxx.java文件,如果存在这个文件就直接编译然后运行字节码的前缀
2)如果当前指定的目录中(文件夹)如果不存在xxx.java文件,那么就需要在系统变量path中 %JAVAH_H0ME%\bin
这个路径去寻找是否存在,如果存在,就编译,如果也不存在,那么说明系统中不存在这个文件 "找不到文件!"

3.4关键字

1.概念:被Java语言赋予特定含义的单词.
2.常见的关键字有:class\public\static\void...:gotoconst作为保留字存在,目前并不使用 

3.5标识符

1.概念

就是给类,接口,方法,变量等起名字时使用的字符序列 

2.命名规则

标识符可以包含 英文字母26(区分大小写) 
	0-9数字 
	$(美元符号) 
	_(下划线) 
注:标识符不能以关键字命名
		不能以数字开头

3.命名习惯

(1) 标识符要符合语义信息。
•  (2) 包名所有字母小写。
•  (3) 类名每个单词首字母大写,其它小写,如:TarenaStudent。
•  (4) 变量和方法:第一个单词小写,从第二个单词开始首字母大写,如:tarenaStudent。
•  (5) 常量:所有字母大写,每个单词之间用 _ 连接。

3.5常量

1.概念

在程序过程中,其值不发生改变的量!(固定值)

2.分类
1)字面值常量
A)字符串常量:

使用双引号括起来的内容都是字符串
			举例:	"高圆圆","helloworld"....
			字符串+任何数据 = "新的字符串" ; 中间"+",拼接符号
			或者任意数据+"字符串"="新的字符串";

B)字符常量:

使用单引号括起来的单个内容
			举例:
					'a','A','0' 
				字符单独使用,就是代表字符本身 ,如果字符参与运算,它会寻找
				ASII码表中的对应的整数值计算(重点)
					'A'对应的值 65
					'a'对应的值 97
					'0'对应的值 48   (只有参与运算才去找个值)
					'AB'---错误的

C)整数常量

100,10,24...
				包含进制 
						进制:数据进位一种方式

D)小数常量

3.14,12.35

E)布尔常量

true或者false 

F)空常量

null	---属于"引用数据类型"的默认值	(面向对象中讲)
				举例:String:jdk提供的字符串类(字符串在java非常特殊的引用类型)
						String s = null ;
						String s = "高圆圆" ;

2)自定义常量

 java中一个关键字 final:状态修饰符(最终的,无法更改的)

Ps(注意事项):

字符常量:System.out.println('AB') ;//必须单个内容(这种表示字符常量的方式是错误的;
System.out.println('a'+1) ;//'a'参与运算对应的ASII码表的值 97     *字符常量是参与运算的
System.out.println('A'+1) ; //'A'参与运算对应的ASII码表的值 65
System.out.println('0'+1) ;//'0'参与运算对应的码表的值 48

空常量定义方式:

空常量
		//System.out.println(null) ;//这种定义是报错的!
		//首先定义一个字符串
		String abc = "高圆圆" ;
		System.out.println(abc) ;
		abc = null ;//再进行重新赋值
		System.out.println(abc) ;

3.5.1进制转换(扩展)

1.定义:是数据进位的一种方式
2.任意进制转换十进制
系数*基数的权次幂相加------得到十进制!
系数:就是当前这个数据的每一位上的数据本身!
基数:x进制---十进制:基数就是x        (x代表二进制,八进制,十六进制)
权次幂:就是给当前这个数据从个位的基数进行编号,从右到左(0开始)
3.十进制转成任意进制(除基取余法)
4.8421码(二进制和十进制快速转换法)

3.6变量

1.定义

在程序的执行过程中,其值发生改变的量!

2.定义变量的三要素

1.数据类型
	2.变量名:满足标识符的规则”小驼峰命名法“
	3.初始化值

3.数据类型:(重点)
1)基本数据类型:四类八种

整数类型:			如果题意中没有明确要求数据类型,默认都是int
					 byte	字节类型     占1个字节            范围:-128~127(考点)
					 short	短整型		 占2个字节
					 int	整数类型     占4个字节
					 long	长整型		 占8个字节
					 整数默认int,在定义long类型,在初始化值的后面加上标记 L或者l(推荐L)
			浮点类型			默认类型是double
					float	单精度类型	 占4个字节
							float后面的值必须加标记F或者f
					double	双精度类型	 占8个字节
			字符类型
					char	使用单引号括起来的字符  占2个字节
			布尔类型
					boolean	表示true或者false ,不会参与运算!(开发中表示逻辑:真或者假)

2)引用数据类型

数组,,接口

4.什么隐式转换?

byte,short,char三者之间不转换,一旦参与运算,优先提升int(考点)---long---float----doubel
	boolean不参与任何类型转换

5.什么是显示转换(强转)

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

6.定义变量的注意事项:

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

3.7位运算符

1.运算符

	包括:
		算数运算符
		赋值运算符
		关系(比较)运算符
		逻辑运算符
		三目运算符
	扩展:位运算符

2.算数运算符

		基本算数运算符:+,-,*,/,%
		注意:
			/:默认取整(java是强类型语言,弱类型javascript端语言不会默认取整)
			%:模:求余数
	扩展的算数运算符:++和--(使用比较多)
当定义的int型数据在使用/时,默认取整,如果想要精确一点的结果,可以在分母上*1.0
暂时扩展:
//小数计算 - 或者/ 计算机计算的时候,"伪计算"
//jdk提供一个类(后面讲这个常用类:BigDecimal 会对小数进行精确计算!)

2.1扩展的算术运算符

	两种用法:
	   1)单独使用
			++或者--在数据的前面:
			++或者--在数据的后面:
						结论:无论在数据的前面还是数据的后面:都是自增1或者自减1
	   
	   2)参与运算使用
			++或者--在数据的前面:
						先进行自增或者自减,然后参与运算
			++或者--在数据的后面:
						先运算,然后当前变量本身自增或者自减

3.基本的赋值运算符

	将=号右边的值赋值给=号左边指定类型的变量
	举例:
	 int x=10;
注:
	= 不能写成== ,==不能写成=(==是比较运算符)

3.1扩展的赋值运算符

	+=,-=,*=,/=,%=  :将等号右边的数据和左边的变量值操作,在赋值给左边的变量
	举例:
	int  x = 10;
	x+=20;-------->等价与x=x+20;(前提条件:类型相同)
	将=等号左边的变量和右边的值相加在赋值给左边的变量x

4.关系(比较)运算符

<,>,<=,>=,==,!=
这些符号连接的表达式无论简单还是复杂的结果都是boolean值!
==:在基本数据类型中,比较两个数据值是否相等;
注意事项:
			==不能写成 "="

5.逻辑运算符

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

5.1扩展的逻辑运算符

面试题:
逻辑双与&&和逻辑单与&有什么区别?
共同点:有false,则false (并列条件,必须同时满足条件才成立!)
区别:逻辑单与&:连接的表达式左边如果是false,右边仍要执行。
单&时,左边无论真假,右边都进行运算。
双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。

6.三元(三目)运算符

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

7.键盘录入


1.为什么要使用键盘录入数据?
如果直接去定义变量,直接写死了,程序不灵活,jdk提供给我们“文本扫描器”
可以键盘录入数据,让程序更灵活一些。
键盘录入数据的操作步骤:
//1)在class类上面书写 导包的格式
import    java.util.Scanner;
//(在java中只要不是java.lang包下的类,都需要进行导包操作)
//2)在main 方法中,创建文本扫描器:格式
Scanner 变量名 = new Scanner(System.in);   固定格式
//3)提示并录入数据(没有提示数据类型,默认录入int)
System.out.peintln("请输入一个数据:")int  变量名 = 文本扫描器变量名.nextInt();   nextInt():文本扫描器的

3.7.1位运算符扩展

1.位运算符里面的移位符号(扩展)

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

2,位异或^特点

一个数据被另一个数据位异或^两次,其值是它本身		
位异或^概念:
	相同则为0,不同则为1

3.8流程结构语句

1.顺序结构语句

从main方法这个入口进去,代码由上往下依次进行
特例:只要在main方法之前,jvm退出了!
jdk提供一个System.exit(0);正常终止jvm(后面常用类中)

2.选择结构语句
1.选择结构语句之if
2.三种格式

if(表达式){
    语句;
}
if(表达式){
    语句1;
}else{
    语句2;
}
if(表达式1){
    语句1;
}else if(表达式2){
    语句2;
}else if(表达式3){
    语句3;
}...
...
}else{
    语句n;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值