Java基础


前言:
BKZS丶王萌萌 与各位读者一样,同样是一位 Student 所以在某些 学术上的芝士,可能并没有那么深入,但是我会尽可能将自己所学总结出来,供所有有着目标的同学们参考。所以,如果有各种问题,可以私信也可以留言,我会尽到自己最大努力帮大家解决!!!

Java开发环境(JDK、JRE、JVM)

1、Java开发环境
Java是一门面向对象的 跨平台的 高级编程语言。那么什么是面向对象?什么是跨平台?什么是高级语言?

首先编程语言分为:面向对象和面向过程
    面向对象:则是将一个一个问题抽出共有哥属性和行为,组成对象来解决。
    面向过程:则是将一个一个问题分解成方法来解决。

面向对象和面向过程的优缺点:
    面向对象:
        1、效率相比面向过程低
        2、耦合度低,有利于维护,扩展性强。
    面向过程:
        1、效率高
        2、耦合度高,代码无法得到复用,不利于维护。

Java的跨平台:
    Java 的跨平台主要体现在JVM 上,即“一次编程,到处运行”。
    JVM:Java 虚拟机,不同的操作系统上运行不同的JVM 则实现了跨平台。
    JRE:Java 运行环境,想要让Java 在系统上运行需要JRE 才可以.
    JRE 中包括JVM + Java 系统类库。
    JDK:Java 开发工具包,想要在系统上编写一个Java 程序则需要安装JDK.
    JDK 中包括了JRE + 编译运行命令等。

高级语言与低级语言:
    计算机中所能识别的是二进制,而我们能看懂的是文字,
    如果想让计算机读懂我们想要干什么,
    则需要将我们写的代码经过编译形成二进制文件,这便是高级语言。
    而低级语言,则是不需要进行编译计算机可以直接运行的语言。

补充:
    当我们运行Java 程序时,会先生成一个扩展名为: .java 的文件通过编译
    生成一个扩展名为:.class 的“字节码”文件。

利用IDEA创建项目

(创建项目)
1、新建
新建
2、创建包
新建包
3、新建类
新建类
类名

变量

2.1 变量
在Java 中当我们想存放一个数据时,我们需要先在计算机内存中申请一块地址,并指定将要存储的内容是什么类型什么名字,之后才可以进行存储。

    Java 为我们提供了8种基本类型变量:
          byte、short、int、long、float、double、boolean、char
    
    整形:    
        1、byte         
                字节型,占用一个字节。可以存放(-128 - 127)的数字
        2、short
                短整形,占用两个字节。可以存放(-32768 - 32767)的数字
        3、int
                整形,占用四个字节。可以存放(-2^31 - 2^31-1)
                一般情况下我们使用的数字都存放在 int 型变量中。
        4、long
                长整形,占用8个字节。可以存放(-2^63 - 2^63在对long型变量赋值时,
                需要在末尾加上“l”或者“L”
                
    浮点数:
        5、float
                单精度浮点数,占用4个字节,存放小数时使用。
                当我们需要给float 型变量赋值时,需要在数字末尾加一个“f或者“F”
        6、double
                双精度浮点数,占用8个字节,存放小数时使用,一般浮点数都存在double中。
                当我们需要给double 型变量赋值时,需要在数字末尾加一个“d”或者“D”
                
    布尔型:
        7、boolean
                布尔型,占用1个字节用于存储逻辑型变量,boolean 中只能存放true(正确) 或者false(错误)
                
    字符型:
        8、char
                字符型,占用2个字节,用于存储字符型变量,可以存放(0-32767)

命名规则

命名规则 :

    1、变量名可以使用英文、数字、汉字、下划线命名。
    2、不可以使用数字开头
    3、Java 区分大小写
    4、要做到见面知意,且不提倡使用中文汉字命名

代码演示:

byte a1 = 12;    //将12赋值给byte型变量a1

short a2 = 12;    //将12赋值给short型变量a2

int a3 = 13;        //将12赋值给int型变量a3

long a4 = 12345L;    //将12赋值给long型变量a4

float a5 = 12.234F;    //将12.234赋值给float型变量a5

double a6 = 12.234D;    //将12.234赋值给double型变量a6

boolean flag = true;     //将true赋值给float型变量flag

char a7 = 'A';        //将A赋值给char型变量a7

运算符

Java为我们提供多种运算符:
	算术运算符、逻辑运算符、关系运算符、赋值运算符、字符串连接、条件运算。
  • 一、算术运算符:

    算术运算符包括: “ + ”、“ - ”、“ * ”、“ / ” 、 “ % ”、 “ ++ ”、“ -- ”
    
    • 加法运算符
      将 “ + ” 两边变量做加法运算
      代码演示:
    int num1 = 10;
    int num2 = 20;
    int sum = num1 + num2;  //结果为 20
    
    long num3 = 100L;
    long num4 = 200L;
    long sum2 = num3 + num4;  //结果为300
    
    double a1 = 12.34;
    double a2 = 13.32;
    double a3 = a1 + a2;	//	结果为 25.66
    
    • 减法运算符
      将 “ - ” 两边变量做减法运算
      代码演示:
    int num1 = 10;
    int num2 = 30;
    int num3 = num2 - num1;	//结果为 30 - 10  = 20
    
    double a1 = 23.21;
    double a2 = 12.11;
    double a3 = a1 - a2;	//结果为 11.1
    
    • 乘法运算符
      将“ * ”两边变量做乘法运算
      代码演示:
    int num1 = 10;
    int num2 = 20;
    int num3 = num1 * num2;	//	结果为 10 * 20  = 30
    
    • 除法运算符
      将“ / ” 两边做除法计算
      代码演示:
    int num1 = 100;
    int num2 = 5;
    int num3 = num1 / num2;	//结果为 100 / 5 = 20
    
    • 取余运算符
      将“ % ” 两边变量做取余运算,结果为两数相除的余数
      代码演示:
    int num1 = 21;
    int num2 = 10;
    int num3 = num1 % num2;	//结果为 1
    
    特别注意:
    	1、byte,short在做运算时,Java会自动将他们转为int 类型处理,如果此时将结果赋值给byte、short 类型的变量,则会报错!!
    	2、如果确实需要将运算的结果赋值给byte、short 类型的变量时,则需要强制类型转换。
    		2.1自动类型转换,小类型自动转换为大类型,则为自动类型转换
    		2.2强制类型转化,大类型强制转换为小类型,会丢失精度。
    

代码演示

	byte a = 1;
	byte b = 2;
	byte c = a+ b;   	//此时会报错我们需要进行强制类型转换
	byte c = (byte)(a+b);  		//如果我们没有使用(a+b)中的括号,则Java 默认就是将a 转换为byte 类型 
	//当变量再次与b 进行运算则会自动欧诺个转换为int 所以我们需要将后面整体转换为byte 类型

选择结构

Java 中所有的程序的设计思想都离不开 顺序、选择、循环 三个结构 所以我们一定要掌握好这三种程序结构。
顺序结构则是程序按照顺序进行编译运行,是最基础的结构。
选择结构则是接下来我们要说的结构,他的思想是先判断是否符合条件,然后再选择运行或者不运行
循环结构则是当程序满足一定条件时,重复执行同一种操作

if…结构

if(判断条件){
	语句块;
}else{
	语句块;
	}
If结构是最基础的选择结构,当程序运行到if 时,会先判断是否满足 if 条件.
如果满足则执行if 语句块中的语句,不满足则跳过 if 语句块,执行else 语句块。
如果缺省 else 语句块 则直接执行 if  后面的语句。

代码演示

	//判断数字是否为偶数
		
	int number = 11;
	if(number % 2 == 0 ){
		System.out.println(number +"是偶数")}else{
		Syetem.out.println(number + "是奇数");		
	}

if…else if 结构

if...else if 结构的特点与 if...else....有异曲同工之妙,区别在于当不满足第一个 if 条件之后并不是无条件执行第二个else 语句 ,而是加入了 else if  语句 ,进行第二次判断当第二次判断正确时,才会执行 语句块,当都不满足时,则都不会执行。
	public class IfDemo{
		public static void main (String[] args){
			//判断成绩是否为优秀(>90)及格(>60)不及格(<60)
	
			int score = 64;
			if(score > 90){
				System.out.println("成绩为优秀")
			}else if(score >60){
				System.out.println("成绩及格")
			}else{
				System.out.println("成绩不及格")
			}
		}
	}

switch…case 结构

switch …case 是一种多分支结构则选择语句,当语句满足条件则会执行,但是要注意的是,当存在多个case时,从满足条件的语句后面的case 会无条件执行,如果想要避免这种情况则需要在语句中加入break 语句来跳出 Switch 结构,。
switch 语句中有default 语句当然这个语句并不是必须的,当所有case 都不满足条件时则会执行default 语句,一般将default 语句放在最后,如果放在第一个则会执行所有的语句。
switch 表达式中写的值可以是:byte、short、int、char、枚举、字符串
代码举例

	public class SwitchDemo{
		public static void main(String[] args){
		//判断成绩区间
		int score  = 60;
		switch(score / 10){
			case 10:
				System.out.println("满分");
				break;
			case 9:
				System.out.println("90-99");
				break;
			case 8:
				System.out.println("80-89");
				break;
			case 7:
				System.out.println("70-79");
				break;
			case 6:
				System.out.println("60-69");
				break;
			case 5:
				System.out.println("50-59");
				break;
			case 4:
				System.out.println("40-49");		
				break;
			case 3:
				System.out.println("30-39");
				break;
			case 2:
				System.out.println("20-29");
				break;
			case 1:
				System.out.println("10-19");
				break;
			default:
				System.out.println("0-9");						
			}
		}
	}

循环结构

循环结构同样是我们经常使用的一种设计结构,它的作用是,在满足条件的情况下,一直重复执行同样的事情。
循环结构的三要素分别是:循环变量、循环条件、循环步长
Java 为我们提供了三种循环结构。

for循环

语法

for(循环变量;循环条件;循环步长){
	语句块
}

循环变量:用于控制循环执行的次数,同时循环变量不一定非要放在括号当中,也可以在循环外定义。

int a;
int count = 0;
for (a = 1;a<=10;a++){
	count +=1;
	}

循环条件:循环条件为boolean 类型,当条件满足时,循环执行,当条件不满足,则跳出循环,执行循环后面的语句。
循环步长:用于改变循环变量的值,如果循环步长没有改变,则这个循环为死循环,程序会一直执行这段代码,在我们的编程过程中,我们应当尽量避免出现死循环。
代码演示:

/**
	判断从0-1000当中有多少个数可以被3整除
*/
	int count = 0;
	for (int a = 0; a<= 1000;a++){
		if(a % 3 == 0){
			count +=1;	
		}	
	}
	System.out.println("0-1000中有"+ count + "个数字可以被三整除");

while循环

while 循环同样是一种循环结构,常用于不不清楚具体需要执行的次数,在这种情况下,选择使用while 循环。
程序进入while语句,先判断boolen 条件是否为true ,当为真时,进入循环。当程序运行为假时,循环结束。
语法:

while(boolean){
	语句块;
}

代码演示

	/**
		输出从0开始,第100个可以被3整除的数字
	*/
	int count = 0;
	int i = 0;
	while(count != 100){
		i +=1;	//无论是否可以被整除都改变i的值
		if(i % 3 == 0){	//	判断是否可以被3 整除
			count += 1;	
		}
		
	}
	System.out.println(i)

do…while循环

break,continue 语句

嵌套循环

6.1数组
6.1 创建数组
6.2 数组访问
6.3 遍历数组
6.4 数组排序*
7.1 集合
7.1 创建集合
7.2 访问集合
7.3 遍历集合

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值