栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

cs零基础入门学习记录-02

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

cs零基础入门学习记录-02

基础知识 1.常用DOS命令和第一个JAVA程序

//后面再用Eclipse或者IDEA
dir : 列出目录下的内容
md: 创建目录
rd : 删除目录
cd: 进入目录
cd… : 返回上一级
cd :返回根目录
del : 删除文件
echo ABC>1.doc 创建有内容的文件

编写: 代码保存在以".java"结尾的源文件中
cmd 得找到对应的文件目录!
编译: 使用 “javac 源文件.java” 编译文件
运行: 使用 “java 类名” 运行文件

class HelloWorld {
	public static void main(String[] args) {
		System.out.println("Hello World!");
	}
}
标识符命名规范

①不包含关键字/保留字/空格 、不能数字开头 、 区分大小写
② 包括 26个字母 和 0-9 和 _ 和 $
包名: 全小写xxxyyyzzz
类名、接口名:首字母大写XxxYyyZzz
变量名、方法名:首字母小写,随后首字母大写 xxxYyyZzz
常量名: 全大写,用下划线 XXX_YYY_ZZZ

数据类型

基本数据类型:
整型: byte/short/int/long [不定义的整型常量默认为int] 1248
浮点型:float/double [默认为double] 48
字符型:char 2 【使用’a’ 一个字符两个字节、或用转义字符、unicode字符集】
布尔型:boolean 0/1
引用数据类型:
类 class 【字符串String 使用" ",内容不限制】
接口 interface
数组 [array]

       class ChangeTest {
	public static void main(String[] args) {
		String s1 = "我";
		String s2 = "你";
		System.out.println(s1 + "爱" + s2);

		String temp;
			temp = s1;
			s1 = s2;
			s2 = temp;
		System.out.println(s1 +"也爱"+ s2);
	}
}

//交换两个变量

运算规则

① 自动提升类型
byte、char、short ==>int ==>long ==>float ==>double
②强制类型转换 【①的逆运算】
强转符() ,可能精度损失
double d1 = 12.9
int i1 = (int)d1 //截断操作,精度损失
String 字符串 【引用数据类型】
①String s1 = “Hello World”;
②可以和8种基本数据类型运算
String info = s1 + i1 //连接运算

进制常识

二进制0b 、十进制 、 八进制0 、 十六进制0x 开头表示
二进制 原码=>反码=>补码 计算机储存默认补码
二=>十 反推 十=>二 除2取余求逆

运算符 算术运算符

+,-,+,-, * , / [取商,区分结果的整型和浮点型] , % [取模/余,结果符号与被模数一致]
(前)++ (后)++ [先自增1再运算 / 先运算后自增1] [不会改变变量类型]
(前)-- (后)-- [先自减1再运算 / 先运算后自减1]
+连接符 适用于String与其他类型之间

赋值运算符

= += -= *= /= %= [不会改变数据类型]
int num1=10;
num1 += 2; // int num1 = num1 + 2

比较运算符

== ,!= ,< , > , <= , >=, instanceof ,比较的结果为boolean
//注意==和=区分

逻辑运算符

运用于boolean
&与 &&短路与 【左边为false, 短路右边不用运算,不影响输出结果】 多用短路
|或 ||短路或 【左边为true, 短路右边不用运算,不影响输出结果】 多用短路
! 非 ^异或(异则TRUE)

位运算符

三元运算符

()? :
(条件表达式)? 表达式1 : 表达式2 [条件表达式结果为boolean,true执行1,false执行2]
//1和2可以统一类型
String max = (m > n)? "m大“ : ((m == n)? “m=n” : “n大”) //嵌套使用
都可以改写成if-else , 反正不然, 三元较简易

流程控制 Scanner类(补充)

1.导包
// import java.util.Scanner;
2.Scanner的实例化
// Scanner scan = new Scanner(System.in);
3.调用Scanner的相关方法,获取相应数据类型
// int num = scan.nextInt(); //next(); //nextDouble(); //nextBoolean();

如何获取一个随机数(补充)

double value = Math.random();// [0.0,1.0)
[a,b] : (int)(Math.random() * (a-b+1) + a) //如10–99,(int)(Math.random() * (90) + 10)

if-else

条件表达式输出为boolean

说明:
1.多个if-else嵌套使用
2.如果多个条件表达式之间不为互斥关系,语句顺序会影响结果
3.如果执行语句只有一行,可以省略{} ,但不建议

class CompareTest {
	public static void main(String[] args) {
		int a = 10000,b = 400,c = 300000;
		int max; 
		//max = (a >= b && a >= c)? a : (b >= c)? b: c;
		if(a >= b && a >= c){
			max = a;
			}else {
				if(b >= c){
					max = b;
				}
				else{
					max = c;
				}
		}		
		System.out.println("最大数为" + max);
	}
}

//取最大值

switch-case


说明:
1.根据表达式中的值,依次匹配case中的常量,执行语句后会继续向下执行其他case结构,直至break或结束
2.switch中的表达式:byte short char int string(7.0) 枚举类型(5.0) (6种)[不能是浮点和boolean]
3.case中只能声明常量,多个case中的执行语句一样,可以合并
注:switch-case都可以转换为if-else ,反之不然。分支结构两者都可以使用时,简易(case较少)时才用switch-case

import java.util.Scanner;
class  SwitchCaseTest{
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		System.out.println("请输入year");
		int year = scan.nextInt();
		System.out.println("请输入month");
		int month = scan.nextInt();
		System.out.println("请输入day");
		int day = scan.nextInt();
		
		int sumDays = 0;
		int FebDays;
		
		//判断year是否闰年;
		if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0){
			FebDays = 29;
		}else{
			FebDays = 28;
		}
		
		//累加求sumDays;
		switch(month){
			case 12:
				sumDays += 30;
			case 11:
				sumDays += 31;
			case 10:
				sumDays += 30;
			case 9:
				sumDays += 31;
			case 8:
				sumDays += 31;
			case 7:
				sumDays += 30;
			case 6:
				sumDays += 31;
			case 5:
				sumDays += 30;
			case 4:
				sumDays += 31;
			case 3:
				sumDays += FebDays;
			case 2:
				sumDays += 31;
			case 1:
				sumDays += day;	
		}
		System.out.println(year + "年" + month + "月" + day + "日" + "是当年中的第" + sumDays + "天");
	}
}

//输入年月日判断是当年的第几天

for

①初始化条件 ②循环条件(boolean) ③循环体 ④迭代条件

执行顺序:①-②-③-④-②-③-④-……-②
//在循环体中求和: sum += i; 计数 count++;

import java.util.Scanner;
class ForTest1 {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);

		System.out.println("正整数m=?");
		int m = scan.nextInt();
		System.out.println("正整数n=?");
		int n = scan.nextInt();

		int min = (m < n)? m : n;
		int max = (m > n)? m : n;
		for(int i = min;i >= 1;i--){
			if(m % i == 0 && n % i == 0){
				System.out.println("最大公约数为" + i);
				break;//跳出循环;
			}
		}
		for(int j = max;j <= m * n;j++){
			if(j % m == 0 && j % n == 0 ){
				System.out.println("最小公倍数为" + j);
				break;
			}
		}		
	}
}

//求m和n的最大公约数和最小公倍数

while

①初始化条件 ②循环条件(boolean) ③循环体 ④迭代条件

执行顺序:①-②-③-④-②-③-④-……-②
// ①在for时只在循环内有效,在while时是循环外声明

do-while

①初始化条件 ②循环条件(boolean) ③循环体 ④迭代条件
结构:

执行顺序:①-③-④-②-③-④-……-②
//至少会执行一次循环体 ,同样是true时循环
多次执行循环时,while和do-while没有区别

其他

五一放假正好出去溜达了几天,学习进度略慢,下周开始同步学习《计算机组成原理》,JAVA基础有点薄弱暂时只能跟着视频学习,学完一类基础再用书本复习一遍吧~
同时也对未来的方向感到迷茫,每个方向都是各种劝退,学着先吧~反之通用基础学了不亏。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/865532.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号