Week01
day01:
1)编写第一个HelloWorld
class HelloWorld{
? ? public static void main(String[] args){
? ? System.out.println("HelloWorld");
? ? }
}
2)Java中的注释:
1)//----------------单行注释
?
2)/*注释
?
? 内容*/ ? -----------多行注释
?
注释内容 是通过jdk安装目录bin目录javacdoc.exe进行编译的
3)关键字:
被Java语言赋予特定含义的单词.组成关键字:小写(在高级记事本以及开发工具中,对"关键字"有一种特殊颜色标记)
?
class:Java中最基本的单元(所有的Java程序中都需要在class中使用) class类名{}
?
public:常用的权限修饰符 ? ? 权限足够大,公共的
4)标识符:
给包,类,接口,变量,方法,常量等起名字的字符序列!
?
组成规则:(见名知意) ? ? ? 严格区分大小写
?
1.26个英文大小写字母
?
2.数字字符
?
3.$
?
4._
?
包: ? 开发中,针对包.多级包,中间使用.隔开(代码需要分层) ? ?
? ? ? 包的命名:公司域名反写 ? ? 注意:字母全部小写 ? ? ? www ? baidu ?
?
类和接口的命名规则:单个单词(首字母大写,其余小写)
?
? ? ? ? ? ? ? 多个单词(大驼峰命名法:每个单词的首字母都大写,其余小写) ? HelloWorld
?
变量/方法的命名规则: 单个单词(字母全部小写) ? ?
? ? ? ? ? ? ? ? ? 多个单词组成:(小驼峰命名法:第一个单词字母小写,其余每个首字母大写,其余字母小写)
?
常量命名规则: ? ? ? 单个单词(单词字母全部大写) ?
5)常量:
程序执行过程中,其值不发生改变的量.
字面值常量:
? 字符串常量 "hello" "你好" 使用双引号包起来的内容
字符常量 'b','0','A' ? ? 使用单引号包起来的内容
整数常量 1 ? 2 4 ? 包含"进制" 整数对应十进制
小数常量 ? 3.14 /1.1/2.6
布尔常量 true/false
空常量 null ---- 后面在引用数据类型(String类)中默认值
? 自定义常量:
6)常用的dos命令:
进dos系统:Windows键+R键_---输入"cmd"------回车进入
?
1.罗列某个盘符下的所有的文件夹及文件详情信息 ? ? ? ? ? dir
?
2.盘符切换 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 盘符号:(不区分大小写)
?
3.改变目录 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? cd 路径
?
4.回退上级目录 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? cd ..
?
5.回退根目录 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? cd \ ?
?
6.创建文件夹 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? md 文件夹名称
?
7.删除文件夹/目录 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? rd 文件夹/目录名称(必须为空目录)
?
8.删除带内容的目录(会询问是否删除) ? ? ? ? ? ? ? ? ? rd ? /s ? 带目录的目录名称
?
9.删除带内容的目录(直接删除) ? ? ? ? ? ? ? ? ? ? ? ? rd ? /s ? 带内容的目录名称
?
10.创建文件 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? copy on 文件-----输入内容 ? ctrl+z -----回车
?
11.清屏命令 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? cls
?
12.查看ip ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ipconfig
?
13.查看自己主机跟其他主机能否进行通信 ? ? ? ? ? ? ? ? ? ping ? ip地址/域名
7) JRE JDK JVM
JDK:java开发工具包:里面包含jre以及一些开发工具的包
jre:Java运行环境 包含jvm以及Java所需的核心类库
jvm:是Java虚拟机,一个假象计算机,能够处理Java程序:
jvm < jre < jdk
8)环境变量的配置;
此电脑 ? 右键属性 ? 高级系统设置 环境变量 ? 系统变量 ? ?
? ? 新建变量名:JAVA_HOME
? ? 变量值:D:\Program\jdk ? (jdk安装目录)
? ? 找到path 里面新增%JAVA_HOME%\bin,置顶
9)进制转换;
二进制的组成:0,1组成,以0B/0b开头
? ? ? ? 八进制的组成:01,2,3,4,5,6,7组成,以0开头
? ? ? ? 十进制:整数默认十进制
? ? ? ? 十六进制的组成:0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f组成,以0x开头来表示
? ? ? 任意进制到十进制的转换 :位权展开法
? ? ? ? ? ? ? ? ? ? ? ? ? 系数:是当前每一个位上的数据本身
? ? ? ? ? ? ? ? ? ? ? ? ? 基数:X进制-----十进制(基数就是X)
? ? ? ? ? ? ? ? ? ? ? ? ? 权次幂:在基数上,从右往左(从0开始)
? ? ? ? ? ? ? ? ? ? ? ? ? (每一个位的数据本身*基数的权次幂相加)
? ? ? 十进制到任意进制的转换:除基取余,一直除到商为0为止,余数反转!
day02
1)8421码(BCD码的一种)
1 ? 1 ? 1 ? 1 ? 1 ? 1 ? 1 ? 1 ? ? 二进制数据
128 64 ? 32 16 ? 8 ? 4 ? 2 ? 1 ? ? 十进制数据
能够快速的让十进制数据和二进制数据相互转换!
8个比特位上的每一个二进制数据都是1,每一个二进制数据1都对应一个十进制数据值
2)有符号位的数据表示法
计算机底层对数据的计算:是通过一个补码进行计算的
?
? ? 组成:最高符号位+数值位组成
? ? 整数:
? ? ? ? 正整数/负整数 ? ? ? ?
? ? ? ? 正数的原码.反码,补码都相同
? (最高符号位为0表示:正数,最高符号位为1表示:负数)
?
10 ? ? ? ? 原码:00001010 ? ? ?
? ? 最高符号位 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 数值位
? ? ? ? ? 0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 0001010 -----------------原码
? ? ? ? ? 0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 0001010------------------反码
? ? ? ? ? 0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 0001010----------------补码
?
-10 ? ? ? 原码:10001010
?
最高符号位 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 数值位
? 1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 0001010 ---------原码
? 1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1110101----------反码
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? +1
----------------------------------------------------------------------------
1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1110110----------补码
?
负数的反码是在原码的基础上,最高符号位不变,数值位按位取反,0变1,1变0
?
负数的补码是在反码的基础上,在末尾+1(最高符号位不变)
3)变量
在程序执行过程中,其值发生改变的量!
? ? 三要素:
? ? ? ? ? 1).数据类型
? ? ? ? ? 2).变量名称:满足标识符规则
? ? ? ? ? 3).初始化值:满足的范围即可!
? 变量的注意事项:
? ? 在Java语言(强类型语言)中,同一个变量不能重复定义
? ? 一行就写一个变量,之后加分号
? ? 变量要么直接初始化,要不就先定义,但必须在使用之前对其进行初始化
?
4)Java的数据类型:
基本数据类型(四类八种)
? ? ? ? 整数类型
? ? ? ? ? ? byte ? 字节类型 ? ? 占1个字节(8个比特位) 取值范围-128~127
? ? ? ? ? ? short ? 短整型 ? ? ? 占2个字节
? ? ? ? ? ? int ? ? 整数默认类型 ? 占4个字节
? ? ? ? ? ? long ? 长整型 ? ? ? 占8个字节(在初始值的末尾加L或l)
? ? ? ? 浮点类型(默认类型double)
? ? ? ? ? ? float ? 单精度 ? ? ? 占4个字节
? ? ? ? ? ? double 双精度 ? ? ? 占8个字节
? ? ? ? 字符类型
? ? ? ? ? ? char 初始化值:单引号''括起来的单个内容
? ? ? ? 布尔类型
? ? ? ? ? ? boolean 不会参与类型转换,仅表示真\假 true\false 占1个字节
? ? ? ? ? ? 在Java中有一个隐式类型转换:byte,short,char三者之间不进行相互转换,但是 ? ? ? ? ? ? ? 参与运算,优先转换为int类型,long.float----double类型
class Demo{
? ? public static void main(String[] args){
? ? ? ? ? int a = 1;
? ? ? ? ? byte b = 4;
? ? ? ? ? int c = a + b;
? ? ? System.out.println("c:"+c);
? ? ? }
} ? ?
--------------------------------------------------
c:5
? ? ? 引用数据类型
5)显式转换和隐式转换
显式转换(强制类型转换 ::将取值范围大的类型强制转换成取值范围小的类型(大变小)
目标数据类型 变量名 = (目标数据类型)初始化值; ? 会有损精度!
使用强制转换,因为要使不同类型的数据传递信息
隐式转换(自动转换):将取值范围小的类型自动提升为取值类型大的范围(小变大)
? ? ? ? ? ? (byte,short, char,---->int--->long--->float--->double)
6)Java中的运算符号
? 1)算术运算符:基本的运算符号 +,-,*,/ 默认取整,%(模)求余数
? 2)扩展的算术运算符
? ? ? ? ++或-- 单独使用
? ? ? ? ? ? ? ? (无论++或--在数据前面还是数据后,都是对当前数据本身自增1或者自减1)
? ? ? ? ? ? ? 参与运算使用
? ? ? ? ? ? ? ? (如果++或者--在数据的前面,需要先自增1或者自减1)
? ? ? ? ? ? ? ? (如果++或者--在数据后面,先进行运算,然后再进行自增1或者自减1)
? 3)赋值运算符
? ? ? ? ? 基本的赋值运算符: = (将=右边的数据赋值给左边类型的这个变量)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? int c = 110;//将110赋值给int类型的变量c
? ? ? ? ? ? ? ? ? ? ? ? ? = 不等于 ==
? ? ? ? ? ? ? ? ? ? ? ? ? ==:是比较运算符,比较两个数值是否相等
? ? ? ? ? 扩展的赋值运算符
? ? ? ? ? ? ? ? ? ? ? 将符号右边的数据和左边的数据相加,然后赋值给左边的变量
? ? ? ? ? ? ? ? ? +=,-=,/=,%= ? ?
? ? ? ? ? 比较运算符
? ? ? ? ? ? ? ? ? !=,<,<=,>,>=,== 比较运算符最终结果不是true,就是false
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? == 不能写成 =
day03
1)java中的运算符号
? 1)逻辑运算符
? ? ? ? 基本的逻辑运算符号
? ? ? ? ? ? ? ? 逻辑单与:& ? 并列关系(满足全部条件) 有false则false ? 有假则假
? ? ? ? ? ? ? ? 逻辑单或:| ? 或的关系 满足一个条件即可 有true则true 有真则真
? ? ? ? ? ? ? ? 逻辑异或:^ ? 相同为false,不同则为true
? ? ? ? ? ? ? ? 逻辑非: ! ? 非true则false,非false则true,偶数个非是他本身
? ? ? ? 扩展的逻辑运算符
? ? ? ? ? ? 逻辑双与 &&
? ? ? ? ? ? ? ? 逻辑单与 & 和逻辑双与 &&的关系
? ? ? ? ? ? ? ? ? ? 共同点:都能够表示"并列"关系
? ? ? ? ? ? ? ? ? ? 不同点
? ? ? ? ? ? ? ? ? ? ? 逻辑单与&:左边的表达式无论是true还是false,右边都要执行
? ? ? ? ? ? ? ? ? ? ? 逻辑双与&&:左边的表达式如果是false,则右边不执行(短路效果)
? ? ? ? ? ? 逻辑双或 || :左边的表达式如果是true,则右边不执行
? ? 2)位运算符
? ? ? ? 基本的位运算符号
? ? ? ? ? ? ? 位于: &
? ? ? ? ? ? ? 位或: |
? ? ? ? ? ? ? 位异或:^ 特点:一个数据被另一个数据位异或两次,其值是他本身!
? ? ? ? ? ? ? 反码:^
? ? 3)三元(三目)运算符
? ? ? class OperatorDemo{
? ? ? public static void main(String[] args){
? ? ? ? ? ? ? (表达式)? 1)执行true的结果:2)执行false的结果;
? ? ? ? ? ? ? ? 表达式:可以简单的也可以复杂的..
? ? ? ? ? 执行流程:
? ? ? ? 判断表达式是否成立,如果成立则执行1)
? ? ? ? 如果不成立,则执行2)
? ? ? ? ?
2)键盘录入
Java.util.Scanner ? ----------简单的文本扫描器
使用步骤
1)导包:import java.util.Scanner;---------(只要不是java.lang的类都需要导包)
2)固定格式: 创建键盘录入对象(文本扫描器对象)
Scanner 对象名 = new Scanner(System.in) ;
3)开始录入数据: ?
System.out.println("请您输入第一个数据:");
int 变量名 = 对象名.nextInt() ;
4)使用变量
练习:已知两个变量a,b(键盘录入数据)分别进行初始化,求出两个数据的最大值!
步骤:
? ? import Java.util.Scanner; -------导包
? ? class ScannerDemo{
? ? ? ? public static void main(String[] args){
? ? ? ? Scanner sc = new Scanner(System.in); ? ------创建键盘录入对象(文本扫描器对象)
? ? ? ? System.out.println("请您输入第一个数据:"); -------提示并录入数据
? ? ? ? int a = sc.nextInt();
? ? ? ? System.out.println("请您输入第二个数据:"); --------提示并录入数据
? ? ? ? int b = sc.nextInt();
? ? ? ? int max = (a>b)?a:b; ? ? ? -------三元运算符进行比较
? ? ? ? System.out.println("最大值是:"+max);
? ? ? ? }
? ? }
3)流程控制语句_顺序结构语句
语句依次由上而下进行执行 ? System.exit(0); -----正常终止jvm
class Demo1{
? ? public static void main(String[] args){
? ? ? System.out.println("java使我快乐");
? ? ? System.out.println("学无止境");
? ? ? System.exit(0);
? ? ? System.out.println("程序结束");
? ? }
}
?
4)流程控制语句_选择结构语句之if格式1
选择结构语句之if格式1:
if(表达式){
语句;
}
? ? ? 执行流程:
1)先判断表达式是否成立,
2)如果成立,执行语句内容
3)不成立,则不执行!
注意事项:
if后面的(表达式){}:有"{"的地方不能有分号; ?
有分号的地方不能有左大括号
day04
1)流程控制语句_选择结构语句之if语句格式2与三元运算符的区别
if语句格式2:范围大,既可以操作输出语句也可以操作具体的数据值
三元运算符:只能操作具体的数据(三元能够实现的,一定能够使用if格式2,但是,if能够实现,三元运算符不一定能够实现!if语句和三元:优先考虑if语句)
?
练习:键盘录入三个数据,求三个数据中的最大值,使用if语句格式嵌套完成和三元分别完成
if语句格式2嵌套
if(表达式){
if(表达式1){
? ?
}else{
? ?
}
}else{
? ? ? ? ? ? if(表达式2){
? ?
}else{
? ?
}
}
import java.util.Scanner;
class ScannerDemo{
? public static void main(String[] args){
? Scanner sc = new Scanner(System.in);
? System.out.println("请您输入第一个数据:");
? int a = sc.nextInt();
? System.out.println("请您输入第二个数据:");
? int b = sc.nextInt();
? System.out.println("请您输入第三个数据:");
? int c = sc.nextInt();
? if(a>b){
? ? ? ? if(a>c){
? ? ? ? ? ? ? System.out.println("最大值:"+a);
? ? ? ? ? ? ?
? ? ? ? } else{
? ? ? ? ? ? ? System.out.println("最大值:"+c);
? ? ? ? }
? }else{
? ? ? ? if(b>c){
? ? ? ? ? ? ? System.out.println("最大值:"+b);
? ? ? ? ? ? ? ?
? ? ? ? }else{
? ? ? ? ? ? ? System.out.println("最大值:"+c);
? ? ? ? }
? }
? ? }
}
-------------------------------------------------------------------
三元运算符:
import java.util.Scanner;
class ScannerDemo1{
? public static void main(String[] args){
? Scanner sc = new Scanner(System.in);
? System.out.println("请您输入第一个数据:");
? int a = sc.nextInt();
? System.out.println("请您输入第二个数据:");
? int b = sc.nextInt();
? System.out.println("请您输入第三个数据:");
? int c = sc.nextInt();
? int max =(a>b)?((a>c)?a:c):((b>c)?b:c);
? System.out.println("三个数据最大值:"+max);
? }
}
3)if语句格式3
练习1:商场根据会员积分打折,
2000分以内打9折,4000分以内打8折
8000分以内打7.5折,8000分以上打7折
使用if-else-if结构,实现手动输入购物金额和积分,计算出应缴金额
?
import java.util.Scanner;
class IfDemo3{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入商品价格");
int price = sc.nextInt();
System.out.println("请输入您的会员积分");
int score = sc.nextInt();
if(price<0 || score<0){
System.out.println("输入数据有误");
}else if(score>=0 && score<2000){
System.out.println("您应缴费金额:"+(price*0.9));
}else if(score>=2000 && score<4000){
System.out.println("您应缴费金额:"+(price*0.8));
}else if(score>=4000 && score<8000){
System.out.println("您应缴费金额:"+(price*0.75));
}else{
System.out.println("您应缴费金额:"+(price*0.7));
}
}
}
--------------------------------------------------------------------------------
练习2:当货物重量小于20 公斤的时候,收费5 元,大于20 公斤小于100 公斤的时候超出20 公斤的部分按每0.2 元每公斤计费,如果超出100 公斤的时候,超出的部分按照每公斤0.15 元计算。
?
?
import java.util.Scanner;
class IfDemo2{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请您输入货物重量");
int weight = sc.nextInt();
if(weight<0){
System.out.println("输入数据错误");
}else if(weight>0 && weight<=20){
System.out.println("收费5元");
}else if(weight>20 && weight<=100){
System.out.println("收费:"+((weight-20)*0.2+5));
}else {
System.out.println("收费:"+((weight-100)*0.15+80*02+5));
}
}
}
-------------------------------------------------------------------------------
练习3:键盘录入一个月份的值:录入月份,提示 是什么季节!
? 3.4.5 ? 春季
? 6.7.8 ? 夏季
? 9.10.11 秋季
? 12.1.2 冬季
import java.util.Scanner;
class IfDemo{
public static void main(String[] args){
Scanner sa = new Scanner(System.in);
System.out.println("请输入月份:");
int month = sa.nextInt();
if(month>12 || month<=0){
System.out.println("没有此月份");
}else if(month==3 || month==4 || month==5){
System.out.println("春季");
}else if(month==6 || month==7 || month==8){
System.out.println("夏季");
}else if(month==9 || month==10 || month==11){
System.out.println("秋季");
}else {
System.out.println("冬季");
}
}
}
4)Switch语句
switch语句使用的注意事项:
1)case语句后面的值只能是常量,不能是变量
2)写switch语句的时候,case语句必须有break语句(否则会被case穿透),结束switch语句
3)switch语句的结束条件-----------a)遇到break结束,b)程序默认执行末尾结束
4)default语句:可以在switch语句中的任何位置
5)如果在语句的末尾,break是可以省略
练习1:录入一个整数,如果是1~5 之间,则分别输出5 个福娃的名字,否则输出“北京欢迎你”(贝贝、晶晶、欢欢、迎迎和妮妮)
import java.util.Scanner ;
class SwitchDemo1{
public static void main(String[] args){
Scanner sc = new Scanner(System.in) ;
System.out.println("请您输入一个数字(1-5):") ;
int name = sc.nextInt() ;
switch(name){
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;
default:
? System.out.println("北京欢迎您");
break;
}
}
}
练习2:键盘录入一个数据,判断该月份的季节
3,4,5月---->春季
6,7,8月---->夏季
9,10,11月--->秋季
12,1,2---->冬季
import java.util.Scanner ;
class SwitchDemo{
public static void main(String[] args){
Scanner sc = new Scanner(System.in) ;
System.out.println("请您输入月份(1-12):") ;
int month = sc.nextInt() ;
switch(month){
case 3:
case 4:
case 5:
System.out.println("春季");
break;
case 6:
case 7:
case 8:
System.out.println("夏季");
break;
case 9:
case 10:
case 11:
System.out.println("秋季");
break;
case 12:
case 1:
case 2:
System.out.println("冬季");
break;
default:
System.out.println("没有该季节");
break;
}
}
}
练习3:键盘录入一个(1-7)的数据,判断星期几?
import java.util.Scanner ;
class SwitchDemo{
public static void main(String[] args){
Scanner sc = new Scanner(System.in) ;
System.out.println("请您输入一个数据(1-7):") ;
int week = sc.nextInt() ;
switch(week){
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 ;
}
}
}
|