Java第一周学习总结

周学习总结

Day01重点

1)基本dos命令:创建文件/文件夹/删除文件/文件夹/清屏
常用DOS命令
命令操作符号
盘符切换命令盘符名:
查看当前文件夹dir
进入文件夹命令cd 文件夹名
退出文件夹命令cd …
退出到磁盘根目录cd\
清屏cls
2)path环境变量的执行流程
需要现在当前目录找,如果存在,就编译和运行;不存在,然后在path变量中(
		jdk安装目录的bin去找)
3)Java中的关键字:
关键字:是Java语言中被赋予特殊含义得单词,字母全部小写。

​		例如:class,public,static, void,...
4)标识符:给类,变量等起名字的字符序列(见名知意)

要符合标识符的组成规则(起名字也要符合规则)
			1)英文大小字母
			2)数字字符
			3)$和下划线组成_
			

​		注意事项:
​			1)不能以数字开头
​			2)不能是Java中的关键字
​			3)严格区分大小
		给类和接口的命名是一样的
		如果类的组成是一个单词:首字母大写
			class Hello{}	
			//定义一个学生类
			class Student{}
			clss S{}  不推荐这样写类
			
		如果类的组成式多个单词:每个单词首字母都大写(大驼峰命名法)
			class StudentTest{} 针对学生的类测试类
			
	给变量(方法)命名是一样的,
		如果变量(方法)是一个单词的话:
			该单词全部小写:
				check() ,方法名
		如果变量或者方法是多个单词的话:
			第一个单词全部小写,从第二个单词开始首字母大写(小驼峰命名法)
				定义方法名:检查用户名
				checkUserName()
				
	给常量的命名
		如果是单个单词:
				每个字母都大写
					TYPE 
		如果是多个单词
				每个单词字母大写,中间下划线隔开
					TYPE_TEXT
					
	一般情况:编写代码,要遵循基本规则(开始编码的时候,养成良好习惯!)
5)常量的分类
常量:在程序的执行过程中,其值不发生改变的量!
分类:
	1)字面值常量
		a)字符串常量:使用双引号括起来的内容  
			举例: "我爱高圆圆","helloworld..."
		b)字符常量:使用单引号括起来的单个内容
			举例:'A','a','0'	
			'AB':写法有问题
		c)整数常量:		(整数:默认十进制(进制相关的))
			100,1000
		d)小数常量:
			3.14,12.56
		e)布尔常量:
			true,false
		f)空常量:
			null
	
	2)自定义常量(跟final关键字有关系:面向对象部分讲)
		
		public static final(终态的,无法更改的,属于状态修饰符) int xxx = xx ;
		
	***	针对引用类型的变量:变量值:默认 null
		Java研究的就是引用类型:数据传递问题!
进制的组成规则:
二进制:由0,1组成,以0b开头(只是来表示是一个二进制数据)	0b100
		八进制的组成:由0,1,2,..7组成,以0开头: 0100
		十进制:整数 默认值(100)
		十六进制的组成:由0,1,..9,a,b,c,d,e,f组成,以0x开头 

变量:

变量:程序执行过程中,值发生改变的量!
三要素:
		1)数据类型
		2)变量名
		3)初始化值	
		数据类型  变量名  = 初始化值;
针对Java语言数据类型的划分:
	两大类:
			基本数据类型
					四类八种
						整数类型
							byte: 字节类型				占1个字节  记住byte类型的范围:-128~127(考点)
							short:短整型				占2个字节
							int(整数默认的类型):整数类型   占4个字节
							long:长整型						占8个字节
								应用场景:定义时间(系统时间换算成时间毫秒值)相关的变量(都是用long)
						浮点类型:(小数默认的就是double类型)
							单精度:float类型				占4个字节
							双精度:double类型				占8个字节
						字符类型:		
							char类型						占2个字节
						布尔类型							占1个字节
							boolean类型(true/false)			
							应用场景:用在逻辑判断中,布尔类型一般不参与运算!
			
			引用数据类型(研究的这个类型) :面向对象部分讲解
					数组,类(具体类,抽象类),接口
					
	注意事项:
			1)注意:如果定义long类型:在值的末尾加上一个标记(L/l,建议大L)	
            
   变量在进行运算的时候,需要保证这些数据的类型一致!
Java存在默认类型提升(基本数据类型):
byte,short,char三者不会相互转换,一旦这三个中间的某个类型参与运算了,它会提升
int类型(考点)---long类型--double类型
注意:
	boolean类型的变量不会进行数据类型的相互转换(true/false)
Java中存在强制类型转换:

语法格式:
		目标数据类型  变量名 = (目标数据类型)(变量值) 
注意事项:
		强制类型不要随便使用,损失数据的精度!
		适用范围:基本数据类型以及引用类型!

130对应二进制数据是多少:0b10000010

整数默认int:4个字节 
-						- ```
  130整数的:原码
  
  最高符号位:0  原码,反码,补码都一样
  	00000000	00000000	00000000	10000010


​ 补码: 计算机底层计算需要用补码进行计算:byte b = (byte)130;
​ 00000000 00000000 00000000 10000010

截取三个字节---->变成一个字节:byte类型

  计算后的结果:	10000010  (补码)
  
  最高符号位					数值位
  	1						0000010				补码
  
  ## 							     -1
  
  ​    1						0000001				反码
  
  负数的反码--->原码:最高符号不变,数值位按位取反,0变1,1变0
  	1						1111110				原码
  	
  结果:
  
  - 64+32+16+8+4+2		
  - 126
  ```

字符串拼接:
+:
	表示一个数据是正数,同时也能表示一个字符串拼接符号,也能做加法运算
	
	字符串拼接符号使用居多

 	字符串数据+(拼接符号) 任何数据= 新的字符串

Day 03

1.位运算符:
位运算符中相关的移动符号:
<<:左移,将最高符号位舍弃掉,在右边补齐0

>>:右移符号: 如果最高符合为如果是0,在左边补齐0;最高符号位如果是1,左边补齐1

>>>:无符号右移:无论最高符号为是0还是1,始终在左边补齐0
//请用最有效的方式写出2乘以8 的结果		
	2 << 3     2 *  2^3
  1. 三目运算符

    三元运算符也称为(三目运算符)

     格式:
     	(表达式)? 执行true的结果:执行false的结果;
    
3.键盘录入

以int类型为例:

1)导包 在Java中只要不是java.lang包下的类都需要导包
	位置在class上面, 格式import java.util.Scanner; (用哪个类导哪个类)
2)固定格式:创建一个文件扫描器对象
	Scanner 对象名 = new  Scanner(System.in) ;
	
3)友情提示:"请您输入一个整数数据:"	
4)接收数据:
	int 变量名=  对象名.nextInt() ;
5)输出变量名即可!

键盘录入字符串方法有三种:

	1.早期的 main方法中的参数: String[] args      弊端:只能接收字符串数据
	
	2.JDK5以后 Scanner类:键盘录入
	
	3.IO流中: BufferedReader(字符缓冲流流)  readLine()

使用Scanner类里面的功能:public String nextLine() :可以录入一个字符串数据
/*
	现在使用switch实现:键盘录入月份的值,判断季节

		3,4,5 		春季
		6,7,8 		夏季
		9,10,11 	秋季
		12,1,2 		冬季
*/
//导包
import java.util.Scanner;
class SwitchTest{
	public static void main(String[] args){
		//创建键盘录入对象
		Scanner sc = new Scanner(System.in) ;
		
		//提示并接收
		System.out.println("请您输入一个数据:") ;
		int month = sc.nextInt() ;
		
		switch(month){
		//直接利用case穿透
		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 ; 
		}
	}
}
4.流程控制语句
流程控制语句分为三类:

​				顺序结构	程序自上向下执行
	
​				选择结构	if       if else
/*
	用if语句比较三个数中的最大值
*/
class Demo{
	public static void main(String[] args){
		int x ; 
		int y ; 
		int z ;
		int max ;
		if ( x > y )
		{
			if ( x > z )
			{
				max = x;
			}else
			{
				max = z;
			}
		}else 
		{
			if ( y > z )
			{
				max = y ; 
			}else{
				max = z ;
			}
		}
	}
}


​				循环结构	for    while    do-while
/*
	需求:统计所有的水仙花数有多少个?
	
分析:
	统计思想:
	 1)定义一个统计变量: 默认值从0开始 count
	 2)获取水仙花数据
		三位数,告诉我们一个范围100-999
	 3)确定每个位上的数据
		int ge = 该数据本身 %10 ;
		int shi = 该数据本身 /10 %10;
		int bai = 该数据本身/10 /10 %10 ;
	 4)满足条件:该数据==ge*ge*ge+shi*shi*shi+bai*bai*bai 
			统计变量++
	 5)输出统计变量

*/
class ForDemo4{
	public static void main(String[] args){
	//定义一个统计变量,默认值是0
	int count = 0 ;
	//获取水仙花数
	for(int x = 100 ; x < 1000 ;x ++){
		//每个位上的数据
		int ge = x % 10 ;
		int shi = x /10 % 10 ;
		int bai = x /10 /10 % 10;
		
		//满足条件
		
		if(x==(ge*ge*ge+shi*shi*shi+bai*bai*bai )){
		
			//统计变量++
			count ++ ;
			//显示一下数据
			System.out.println(x) ;
		}
	}
	
	//输出统计变量
	System.out.println("水仙花数共有"+count+"个") ;
	}
}
		

5.while循环和for循环的区别?

	1)两种循环格式不一样 
		while循环---->
				从内存角度考虑,while循环结束了,依然可以访问循环中的变量(消耗内存空间)
		for循环----->
				从内存角度考虑,for循环结束了,不能访问变量(变量生命周期随着for循环的结束而结束),比较省内存空间
	2)从应用场景来说:
		一般情况:如果明确循环次数或者明确循环的范围,优先考虑使用for循环
					举例:给3次机会,模拟用户登录..   可以使用for循环
						如果不明确循环次数或者不明确的范围,使用while循环操作 
				举例:	
					猜数字游戏,(产生的随机和用户录入的数据进行比较)
								---->这种情况:使用while循环操作

第一周学习心得体会:

​ 对于自己本周的学习能打个及格分吧,之所以不是高分是因为一些细小的知识点比较模糊,看的时候觉得什么都会,但是等自己独立上手敲代码时候会发现自己还有很多的不足,很多小细节都会出错,所以建议大家也是建议自己还是需要多加练习,比如主函数main不要拼写错误,语句结束;不能忘记。细节决定成败!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值