java安装配置
1)java语言特点
面向对象语言的一种
跨平台
开源
2)java平台版本
javase:针对桌面程序的开发
javame:针对嵌入式提供的一套解决方案
javaee:针对企业级开发的一套解决方案
3)java语言环境
jdk:java开发工具包,包含了jre和java的一些工具包
jre:java的运行环境,包含了jvm以及java所需要的核心类库
jvm:java虚拟机(提供在不同的操作系统进行java源文件的运行)
jdk下载地址:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
4)jdk安装配置环境变量
下载好jdk双击安装,注意安装路径不能出现中文路径,安装好后开始配置环境变量
配置好系统变量后,打开dos命令窗口,输入javac,和java测试,出现配置信息则安装成功
5)常见dos命令
盘符切换:d:,改变:目录文件夹:cd 回退上一级:cd..
回退根目录:c/ 创建新的文件夹:md 创建新的文件:copy con文件(带后缀)----按回车输入文件的内容--->ctrl+z(输入完毕)--->按回车
删除:rd RD/S带文件删除 RD/S/Q暴力删除不询问
清屏:cls 查看电脑网络配置:ipcongfig 测试电脑连通性:ping +
进制转换
1)8421码
功能:快速的让十进制数和二进制数相互转换!
8个比特位上的每一个进制数据是1,都对应一个十进制的数值
1 1 1 1 1 1 1 1 (二进制
128 64 32 16 8 4 2 1 (十进制
已知一个二进制1010110 八进制;89/8=11 1
=64+0+16+0+4+2+0 ------------------- 11/8=1 3
=86 1/8 =0 1
2)有符号位数据表示法
计算机底层对数据的计算:是通过一个补码进行计算的 整数:正整数/负整数
正整数:原码,反码,补码都相同
十进制15----0-0001111 最高符号位0表示正数
0 0001111 原码
0 0001111 反码
0 0001111 补码 最高符号位1表示负数
-7
1 0000111 原码
1 1111000 +1 反码
1 1111001 补码
负数的反码是在原码基础上最高符号位不变,数值位按位取反,0变1,1变0
负数的补码是在反码的基础上,在末尾+1(最高符号位不变)
一、java中的关键字
1.class:创建一个类(Java最基本的单元);public:权限修饰符(公开的,权限访问)
static:面向对象-----静态修饰符;void:java方法; main:java文件需要main去调用;
2.注释:java开发中需要给代码注释,增加可阅读性 //单行注释; /*******/文档注释,可以被javadoc.exe解析
二、java标识符
标识符:给包,类,接口。方法,变量,常量起名字的字符列(见名知意)
组成:1)26个英文字母(大小写)
2)数字
3)符号_ $
注意:严格区分大小写,不能以纯数字开头,不能是java中的关键字,只能用符号_ $别的是非法字符
三、Java中的常量
1)字面值常量
1.字符串常量:"helloworld"
2.字符常量:'a' '你'
3.整数常量
1......100......包含“进制”
4.小数常量
3.25.......150.26
5.布尔常量
true/false
6.空常量
null
2)自定义常量
java变量
1)变量:在程序执行过程中,其值发生改变的量!
格式(三要素):数据类型 变量名称 =初始化值
int a = 100;
2)数据类型
基本数据类型-------------引用数据类型
基本数据类型:
1)整数类 byte 字节类型 占1字节 取值 :-128~127
short 短整型 占2字节
int 整数默认类型 占4个字节
long 长整型 占8个字节
2)浮点型:double 双精度 占 8个字节
float 单精度 占4个字节
3)字符类型 char '' 占两个字节
4)布尔类型 boolean 不参与类型转换:表示真假 true/false
定义变量的注意事项:
1.在java语言中,同一个变量不能重复定义(强类语言)
2.一行可以定义多个变量,但是代码规范是;一行写一个变量即可,结束加分号
3.变量要么直接初始化要么先定义,但必须在使用前对其进行初始化
3)类型转换
变量进行运算,必须保证数据类型一致!
隐式类型转换:byte,shorh,char三者之间不进行相互转换,但是参与运算会优先转换为
int---long------float-----double
显示转换(强制转换):不仅使用基本数据类型,以后引用数据类型也可以
格式:目标数据类型 变量名 =(目标数据类型)(初始化变量值/表达式)
byte a = (byet)300
注意:强行转可能损失精度,一般不用,
float a = 1.23;
int b = (float)1.23;
b=1
考点:
1)java的隐式类型转换以及强转格式
2)常量相加和变量相加的区别!
定义三个变量
byte b ,b1 = 3 , b2 = 4 ;
1)b = b1 + b2 ;(执行不通过数据类型不一样)
2)b = 3 + 4 ;(执行通过)
算术运算符
Java中的运算符:
1)算数运算符
2)赋值运算符
3)关系比较运算符
4)逻辑运算符
5)位运算符
6)三元运算符
基本算术 运算符:
基本算数运算符:+,-,*,/,%(取余)/:默认取整
++ --的特点
场景1:
++或者--单独使用
无论++或者--在数据前面还是数据后:都是对当前数据本身自增1或者自减1
场景2:
++或者--参与运算使用
如果++或者--在数据的前面:需要先进行自增1或者自减1,然后再参与运算!
如果++或者--在数据的后面:先进行运算,然后再进行自增1或者自减1
赋值运算符:
+=,-=,*=,/=,%=
例子:
int a = 10;
a+=20;-------------- a=a+20;
关系运算符
!=(不等于),<,<=.>,>=,== (无论我们的表达式是简单还是复杂的,最终比较运算符的结果不是true,就是false)
逻辑运算符
基本的逻辑运算符号
单与:& 并列关系(满足全部条件)有false,则false
单或:| 满足一个条件即可 有 true,则true
异或:^ 相同则为false,不同为true 方便记忆(男女关系男女,女男---true,男男,女女------------false)
位异或的特点
^ 一个数据被另一个数据位异或两次,其值是他本身!
非:! 非true,则false,非false则true(用户登录账号密码一致)
&&双与和||双或
共同点:都能表达"并列"关系
不同点:
逻辑单与&:无论左边的表达式是true还是false,右边都要执行!
逻辑双与&&:具有短路效果 左边的表达式如果是false,则右边就不执行了!
逻辑双||: 左边的表达式如果是true,则右边不执行了!
位运算符
<< :左移将数据的补码进行左移动,右边不够的补0;将最高符位丢弃掉
>>>: 无符号右移无论最高符号位是1还是0,左边始终补0
>>:右移将数据的补码进行右移动;如果最高符号位为1,则左边补1;最高符号位为0,则左边补0;
三元运算符
格式:(表达式)?1执行true:2执行false执行流程:
判断表达式是否成立,如果成立则执行1如果不成立,则执行2
例子:
比大小int a = 10;int b = 15;
(a>b)?a:b
键盘录入
使用键盘录入数据更加灵活
jdk给我们提供一个类 java.util.Scanner:一个简单的文本扫描器
操作步骤
1)导包
在class上面输入:import java.util.Scanner;
2)固定格式:创建键盘录入对象(文本扫描器)Scanner 对象名字 =new Scanner(System.in);
3)开始录入数据:int,long,....需要改变nextLong
例子:import java.util.Scanner;
Scanner sc=new Scanner(System.in);
4)使用变量 int a = sc.nextInt();
键盘录入的细节:
如果先录入int,在录入String会出现,会漏电第二个数据String
原因就是 输入回车符号-->才能录入数据 ;回车符号---> (换行)
流程控制语句
1)顺序结构语句(进入到主程序之后,main被jvm调用依次由上而下进行执行)
2)选择结构语句
if语句 switch语句
3)循环语句
for while do-while语句
选择语句
if
格式:if(表达式){
语句;
}
注意:适用于针对单个条件进行判断
执行流程:
1)先判断表达式是否成立,
2)如果成立,执行语句内容
3)不成立,不执行!
例子:if(x>=10&&10<=10){
代码内容
}
if语句格式2
if(表达式){
语句1;
}else{
语句2;
}
执行流程:
1)首先判断表达式是否成立,
2)如果成立,则执行语句1;
3)否则,不成立,执行语句2;
例子:
if(num >= 5 && num <=10){
System.out.println("执行") ;
}else{
System.out.println("") ;
}
if语句格式3
格式: if(表达式1){
语句1;
}else if(表达式2){
语句2
}else{
语句n 注意:针对多种情况进行判断
执行流程:
1)首先判断表达式1是否成立;如果成立,则执行语句1;
2)不成立,继续判断表达式2是否成立,成立,执行语句2
...
...
如果上面都不成立,最终执行else里面语句;
switch语句格式:
switch(表达式){
case 值1:
语句1;
break ;
case 值2:
语句2;
break ;
...
...
default:
语句n;
break ;
执行流程:
1)使用switch中的表达式结果和case的进行匹配
2)case语句值1,匹配了,就执行语句1,break,结束switch语句
3)值1不匹配,继续判断值2是否和switch中的值匹配,
4)如果匹配了,执行语句2,break,结束switch语句
5)如果上面都是不匹配,最终执行default语句,语句n,break结束!
例子:
switch(输入1-4的值){
case 1:
System.out.println("语句一") ;
break ;
case 2:
System.out.println("语句二") ;
break ;
case 3:
System.out.println("语句三") ;
break ;
case 4:.................default:
System.out.println("非法数据!") ;
break ; 没有输入相匹配的值就是提示输入有误
switch语句使用的注意事项:
1)case语句后面的值只能是常量,不能是变量(Java是一个强类型语言的:语法结构非常严谨)
javascript语言(前端):弱类型语言: switch语句的case后面既可以是常量,也可以是变量
2)书写switch语句的时候,case语句必须存在break语句,结束switch语句的!
如果没有书写break语句,会造成"case穿透!"现象
3)switch语句的结束条件
a)遇见break结束
b)程序默认执行末尾结束
4)default语句:可以在switch语句中的 任何位置
如果在语句中,必须携带break; 否则case穿透
如果在语句的末尾,break是可以省略的,不建议!