2021-04-22_JAVA基础

JAVA基础

学习1.0

应用程序=算法+数据结构

常用DOS命令

1、换盘处:d:
2、创建目录: md
3、删除文件: del 1.doc 删除文件
del *.txt 删除所有txt文件
rd team1 删除文件目录(需里面文件为空)

API文档

类库使用说明书

基本语法

public class hello  //若为public类,则类名应为文件名
{
	//程序的入口是main()方法,格式固定
	public static void main(String[] args)  //args :arguments 参数
	{
		System.out.println("helo world");//先输出数据,后换行
		System.out.print("helo world");//只输出数据
	}
}

基本原理

1、 JDK,JRE,JVM之间的关系
JDK=JRE+java的开发工具
JRE=JVM+Java核心类库
2、为什么要配置path环境变量
希望在任何路径下都可以执行
3、 常用的命令行操作?
cd
md
rd
del
cd…
cd/
4、注释
单行注释:/
多行注释: /* / 不可以嵌套使用
文档注释:/
* */

学习2.0

基本语法1.0

关键字keyword & 保留字

所有的都是小写,
保留字目前不是关键字,但起名时尽量避免

标识符

凡是可以自己起名字的地方都是标识符
命名规则:26个字母大小写,0-9,_,$;
			  数字不能开头
			  不能使用关键字和保留字,但可以包含
			  严格区分大小写
			  不能包含空格
命名规范:包名---     xxxyyyzzz
			  类名,接口名---     XxxYyyZzz
			  变量名,方法名---     xxxYyyZzz
			  常量名---      XXX_YYY_ZZZ
见名知意

变量

必须先声明,后使用
只有在定义的作用域内可以使用

数据类型:
一,基本数据类型

---------------数值型-------------------------------
1、整形: 1字节 `byte`  范围:-128~127
			 2字节 `short`
			 4字节  `int`
             8字节  `long `  必须以“l”或"L"结尾
			
2、浮点型:单精度 4字节 `float` 必须以“f”或"F"结尾
                双精度  8字节 `double` 可以不用f,F
           
-------------字符型------------------------------------- 
3、内部只能写一个字符或转义字符或者Unicode值 `char`

-------------布尔型-----------------------------------
4、`booleam`  只能取两个值之一:true  false 

二,引用数据类型

-------------类
5、
------------接口
6、
------------数组
7、

三、基本数据类型之间的运算
不包含布尔型,是前几种
1、自动类型提升

 byte 、char、 short  >  int  >  long >  float  > double
容量小和容量大的运算,会自动提升为大范围的
byte、char、short三者做做运算只能用int 接收

2、强制类型转换

自动类型提升的逆运算,由大变小
需要用强转符 ();
可能会有精度损

--------------整形常量默认为int 型
--------------浮点型常量默认为double

四、 String 类型变量的使用
声明时使用 " "
可以和8种基本类型运算,且只能是连接符:+ , 结果是String型
a—97
A—65

五、进制与进制之间的转换

运算符

一、算数运算符
%–取模(取余)
(前)++、-- 先自增,后运算
(后)++ 、-- 先运算,后自增
自增不会改变类型
二、赋值运算符
+= 之类的不会改变变量本身的数据类型
三、比较运算符
运算结果是布尔型 (true 或 false)
四、逻辑运算符

&     ---     逻辑与
&&   ---     短路与 
	运算结果相同

|		---	逻辑或
||		---	短路或
	运算结果相同
	
!	---	逻辑非  
^		---	短路非

五、位运算符
都是整形的数据
(在一定范围内)每向左移一位,相当于乘了一个2;向右则是除以2;

六、三元运算符

	(条件表达式)?表达式1:表达式2;
	 条件表达式的结果是boolean型
	 若结果是true,则为1;若是false,则为2
	 都可以改成 if else 语句(反之不可)

七、运算符的优先级
加()就行;

流程控制

一、顺序结构

二、分支结构
1、if else 语句
else是可选的(若有省略,则就近原则); 可嵌套

  • if
    if - else
    if - else if … else

2、switch-case语句

	若想实现多选一,应在每个都加break(break可不加);
	swtch表达式,只有六种类型:byte、short、char、int 、枚举类型、 String类型
	case 后放常量
	default 位置也可随机(一般不用)
	若多个case的执行语句一样,则可合并

三、循环结构
可用break跳出循环
1、for 循环
循环条件是boolean型

2、while 循环
不能忘了循环的迭代条件

3、do-while 循环

4、break和continue的使用

break:结束当前循环
continue:结束当次循环

关键字后面不能声明执行语句

break label;   结束for前面有label标识的一层循环结构

return 是结束一个方法

从键盘获取不同类型的变量

需要Scanner类
具体实现步骤:
1、导包: import java.util.Scanner;
2、Scanner 的实例化 :Scanner scan=new Scanner(System.in);
3、调用Scanner类的相关方法,int num=scan.nextInt();
来获取指定类型的变量 :System.out.println(num);

		string 型:`String s=scan.next();`
		double型:`double d=scan.nextDouble();`
		boolean型:`boolean b=scan.nextBoolean();`

如何获取随机数
例:Math.random(); // 范围是[0.0,1.0) 且为double 型
想要闭区间 [a,b]:Math.random()*(b-a+1)+a;

从键盘获取char:String word scan.next(); char c =word.charAt(0);

获取当前时间距离1970-01-01 00:00:00时间
long start=System.currentTimeMillis(); long end=System.currentTimeMillis();

例子、案例1

100以内的所有质数

	class PrimeNumber
	{
		public static void main(String[] args)
		{
		boolean isFlag=true;
			label:for(int i=2;i<=100;i++)
			{
				for(int j=2;j<=Math.sqrt(i);j++)  //优化二:
				{
					if(i%j == 0)   //i被j除尽
					{
						/*
						isFlag=false;
						break;  //优化一:
						*/
						continue label;  //优化三:
					}
				}
				if(isFlag==true)
				{
					System.out.println(i);
				}
				isFlag=true;  //重置
			}
		}
	}

案例1、
跳过

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值