JAVA编程基础

JAVA编程基础

变量与标识符

数学名词

(变数或变量):是指没有固定的值,可以改变的数.变量以非数字的符号来表达,一般用拉丁字母.变量是常数的相反.变量的用处在于能一般化描述指令的方式.

计算机解释

变量就是系统为程序分配的一块内存单元,用来存储各种类型的数据.根据所存储的数据类型的不同,有各种不同类型的变量.变量名代表这块内存中的数据.

变量分类

按所属的数据类型分类:
基本数据类型变量 引用数据类型变量

按被声明的位置划分:
局部变量:方法或语句块内部定义的变量
成员变量:方法外部,类的内部定义的变量

命名规则

Java对包,类,方法,参数和变量等要素命名时使用的字符序列称为标识符.

Java标识符命名规则:
由字母,数字,下划线(_)和美元符号($)组成.
不能以数字开头.
区分大小
长度无限制
不能是Java中的关键字和保留关键字.

(标识符命名习惯:驼峰命名法,见名见意,以单词或单词组合来命名)

例:
合法标识符:
vince,daoguo,user_name,_username,$abc_123
非法标识符:
2username(不能数字开头)
user#name(不能包含"#"号)
Hello 你好(汉字没有问题,中间有空格,最好不要用汉字)
static(不能用Java关键字)

在这里插入图片描述
在这里插入图片描述

ASCII码表

在这里插入图片描述

八中基本数据类型

字节

计算机文件大小的基本计算单位

1个字节(Byte)=8个位(Bit)
Bit意味"位"或"比特",是计算机运算的基础;
二进制中的一位,是二进制最小信息单位,二进位可以用来表示一个简单的正/负的判断,有两种状态的开关(如电灯的开关)

1个字节(Byte)=8个位(bit)
2个字节=16个位
4个字节=32个位
8个字节=64个位

单位换算:
1Byte=8Bit
1KB=1024Byte
1MB=1024KB
1GB=1024MB
1TB=1024GB
1PB=1024TB

说明:
在内存计算过程中,
字节少的数据运算速度更快
在硬盘存储中,
字节少的数据类型也可充分存入更多的数据.

数据类型||关键字||占用字节数||取值范围||默认值
布尔型 boolean 不定值 true,false false
字节型 byte 1 -128 ~ 127 0
短整型 short 2 -32768 ~ 32767 0
整型 int 4 略 0
长整型 long 8 略 0
字符型 char 2 0 ~ 65535 ‘\u0000’
单精度浮点型 float 4 略 0.0F
双精度浮点型 double 8 略 0.0D
省略的可以不用记住,数值很大,足以现阶段使用

基本数据类型转换

自动类型转换

容量小的类型自动转换成容量大的数据类型

byte,short,int,它们三者在计算时会转换成int类型
如果把int值转换为float值,或者long转换为double值,不需要强制转换,但可能丢失精度

public class class2{
	public static void main(String[] args){
		
		byte b=10;
		short s=b;//把一个字节赋值给短整型变量,自动转换
		int i=s;//把一个短整型赋值给整型变量,自动转换
		long lon=i;
		System.out.println(b);
		System.out.println(s);
		System.out.println(i);
		System.out.println(lon);
		
		//自动转换(char->int类型)
		char sex='男';
		int sex1=sex;
		System.out.println(sex1);
		
		float f=20f;
		double d=f;
		System.out.println(d);
		
		//float和double是属于近似值
		//byte char short int long属于精确值
		//精确值转近似值时可能丢失精度
		int num=23465723;
		float num1=num;
		//如果用于货币值,不建议使用float和double
		
		//byte short int 在计算时会自动转换为int类型
		short s1=10;
		s1=(short)(s1+b);//强制类型转换
		System.out.println(s1);
		
		int x=(int)lon;//把大容量类型转换为小容量类型,强制转换
		//有可能造成精度的降低或数据溢出.
	}
}

引用类型

引用类型变量中的值是指向内存"堆"中的指针,及该变量所表示数据的地址.

Java语言中通常有5种引用类型:
(1)数组:具有相同数据类型的变量的集合.
(2)类(class):变量和方法的集合.
(3)接口(interface):一系列方法的声明,方法特征的集合.
(4)枚举(enum):一种独特的值类型,用于声明一组命名的常数.
(5)空类型(null type):空引用,即值为null的类型.空类型没有名称,不能声明一个null类型的变量,null是空类型的唯一值.

注意:空引用(null)只能被转换成引用类型,不能转换成基本类型,因此不要把一个null值赋给基本数据类型的变量.

自动类型转换

byte->short
char->int
short->int
int->long
int->float
int->double
float->double

/**
日期:2021.12.29
内容:自动,强制类型转换
*/
public class book1{
	public static void main(String[] args){
		/**
		int a=56;
		char c=(char)a;//把整型变量a强制类型转换为字符型
		System.out.println("字符型(char):"+c);
		*/
		
		//自动类型转换
		byte b=7;
		char c='A';
		int a=10;
		long l=789L;
		float f=3.14f;
		double d=5.3d;
		
		int i1=a+c;
		System.out.println("i1="+i1);//字符型自用转换为整型
		long l1=l-i1;
		System.out.println("l1="+l1);//整型自动转成为长整型
		float f1=b*f;
		System.out.println("f1="+f1);//字节型自动转换成浮点型
		double d1=d/a;
		System.out.println("d1="+d1);//整型自动转换成双精度
		
		int i2=(int)f1;
		System.out.println("i2="+i2);//浮点型强制转换为正数
		char c2=(char)(1/a);
		System.out.println("c2="+c2);
		//整型强制转换为长整型,再强制转换为字符型
	}
}























在这里插入图片描述

位运算

/**
日期:2021.12.29
内容:位运算
*/
public class book2{
	public static void main(String[] args){
		
		int a=0b00101010;//0b为二进制的前缀
		int b=0b00001111;
		//按位与
		System.out.println(Integer.toBinaryString(a&b));
		//按位或
		System.out.println(Integer.toBinaryString(a|b));
		//按位异或
		System.out.println(Integer.toBinaryString(a^b));
		
		int c=0b11111000;
		//左移
		System.out.println(Integer.toBinaryString(c<<1));
		//右移
		System.out.println(Integer.toBinaryString(c>>1));
		//无符号右移
		System.out.println(Integer.toBinaryString(c>>>1));
		
	}
}

三元操作符

/**
日期:2021.12.29
内容:三元操作符
*/
public class book3{
	public static void main(String[] args){
		int a=56;
		int b=45;
		int c=78;
		System.out.println("a>b?a:b="+(a>b?a:b));
		System.out.println("a>c?a:c="+(a>c?a:c));
	}
}

关键字

转义字符

//转移字符
public class class3{
	public static void main(String[] args){
		System.out.print("转义字符测试");
		System.out.print("我想输出一个回车符");
		System.out.println();//这个也可以回车换行
		
		System.out.print("换行字符测试\n");//\n属于回车换行符
		System.out.print("我想输出一个回车符");
		
		System.out.print("回车字符测试\r");
		
		System.out.println("制表符测试\t");
		System.out.println("反斜线字符输出\\");
		System.out.println("单引号字符输出\'");
		System.out.println("双引号字符输出\"");
	}
}

在这里插入图片描述

运算符与优先级

算术运算符

"+,-,*,%(取余),++(自增(前,后)),–(自减(前,后))"6种算术运算符

关系运算符

"==(等于),!=(不等于),<(小于),>(大于),<=(小于等于),=>(大于等于)"等6中关系运算符

键盘输入

Scanner input=new Scanner(System.in);

/**
日期:2021.12.29
内容:键盘输入Scanner测试
*/
import java.util.Scanner;//接受键盘输入的工具包
public class class4{
	public static void main(String[] args){
		//创建一个键盘输入的工具
		Scanner input=new Scanner(System.in);//键盘输入接受
		System.out.print("从键盘输入一个整数(否则会出现错误):");
		int x=input.nextInt();//从键盘接受一个整数
		System.out.print("从键盘输入的值是:");
		System.out.println(x);
	}
}

在这里插入图片描述

分支语句

if条件语句
switch多分支语句

/**
日期:2021.12.30
内容:if条件语句
	switch条件语句
*/
import java.util.Scanner;
public class book4{
	public static void main(String[] args){
		
		Scanner scanner=new Scanner(System.in);
		
		System.out.print("请输入一个整数值:");
		int g=scanner.nextInt();
		//判断g是否是负数
		if(g<0){
			System.out.println("负数");
		}
		
		//判断g是否是偶数还是奇数
		if(g%2==0){
			System.out.println("偶数");
		}else{
			System.out.println("奇数");
		}
		
		//判断g的等级
		if(g>=90){
			System.out.println("优秀");
		}
		else if(g>=80){
			System.out.println("良好");
		}
		else if(g>=70){
			System.out.println("中等");
		}
		else if(g>=60){
			System.out.println("及格");
		}
		else{
			System.out.println("不及格");
		}
		
		
		System.out.print("请再输入一个整数g值:");
		g=scanner.nextInt();
		//使用switch判断g的等级
		switch(g/10){
			case 10:
			case 9:
				System.out.println("优秀");
				break;
			case 8:
				System.out.println("良好");
				break;
			case 7:
				System.out.println("中等");
				break;
			case 6:
				System.out.println("及格");
				break;
			default:
				System.out.println("不及格");
		}
		
		
		System.out.print("请输入字符串(春天,夏天,秋天,冬天四选一):");
		scanner=new Scanner(System.in);
		String season=scanner.nextLine();
		//执行switch分支语句
		switch(season){
			case "春天":
				System.out.println("春天花开");
				break;
			case "夏天":
				System.out.println("夏日炎炎");
				break;
			case "秋天":
				System.out.println("秋高气爽");
				break;
			case "冬天":
				System.out.println("冬雪皑皑");
				break;
			default:
				System.out.println("季节输入错误");
		}
		
	}
}

在这里插入图片描述

循环语句

/**
日期:2021.12.30
内容:循环语句
	for循环
	while循环
	do-while循环
	break转移语句
	continue语句
	return语句
*/
public class book5{
	public static void main(String[] args){
		
		//循环的初始化,循环条件,循环迭代语句都在下面一行
		for(int count=1;count<=10;count++){
			System.out.println(count);
		}
		System.out.println("循环结束!");
		
		
		//嵌套的for循环打印九九乘法表
		for(int i=1;i<=9;i++){
			for(int j=1;j<=i;j++){
				System.out.print(j+"*"+i+"="+i*j+" ");
			}
			System.out.println();
		}
		
		
		//while循环
		//使用while循环求1~100的和
		int sum=0;
		int i=1;
		while(i<=100){
			sum+=i;
			i++;
		}
		System.out.println("1~100的和是:"+sum);
		
		//do-while循环
		sum=0;
		i=1;
		do{
			sum+=i;
			i++;
		}while(i<=100);
		System.out.println("1~100的和是:"+sum);
	
	
		for(i=1;i<=10;i++){
			if(i==5){
				System.out.println("找到目标,结束循环!");
				//终止循环
				break;
			}
			System.out.println(i);//打印当前的i值
		}
		
		
		//转移语句
		//外层循环,outer作为标识符
		outer:for(i=0;i<5;i++){
			//内层循环
			for(int j=0;j<3;j++){
				System.out.println("i的值为:"+i+"j的值为:"+j);
				if(j==1){
					//跳出outer标签所标识的循环
					break outer;
				}
			}
		}
		
		//continue语句
		for(i=1;i<=10;i++){
			if(i==5){
				System.out.println("找到目标,继续循环!");
				//跳出本次循环,进入下一次循环
				continue;
			}
			System.out.println(i);//打印当前的i值
		}
		
		//return语句
		//一个简单的for循环
		for(i=0;i<3;i++){
			System.out.println("i的值是:"+i);
			if(i==5){
				//返回,结束main方法
				return;
			}
			System.out.println("return后的输出语句");
		}
		
	}
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值