Java语言基础

目录

1.Java主类结构

2.基础数据类型

1.整数类型

 2.浮点类型

2.字符型(char)

3.布尔类型

3.变量与常量

  Java运算符

1.赋值运算符

 2.算术运算符

3. 自增和自减运算符

4.比较运算符

 5.逻辑运算符

6.位运算符

7.三元运算符

8.运算符优先级

 数据类型转换

1.隐式类型转换


Java语言是面向对象的程序设计语言,Java程序的基本组成单元是类,类体中又包括属性与方法两部分每一个应用程序都必须包含一个main()方法,含有main()方法的类称为主类。

        创建主类并调用其主方法

        在Eclipse下依次创建项目item、包Number和类Frist。在类体中输入以下代码,实现在控制台上输出“你好 Java”。

 运算结果如下:


public class Frisit {
    static String s1 = "你好";
	public static void main(String[] args) {
		// TODO Auto-generated method stub
        String s2 = "Java";
        System.out.println(s1);
        System.out.println(s2);
	}

}

2.基础数据类型

在Java中有8种基本类型来存储数值、字符和布尔值,分为:数据型,字符型,布尔型。数据型又分为整数类型和浮点类型

整数类型:byte、short、int、long

浮点类型:float、double

1.整数类型

整数类型简称整型,用来存储整数数值,即没有小数部分的数值。可以是正数,也可以是负数。整型数据根据它所占内存大小的不同,可分为byte、short、int和long4种类型。它们具有不同的取值范围。long型需要在整数后面加L或者l(小写L);float型则需要在小数后面添加F或f

 2.浮点类型

浮点类型简称浮点型,用来存储含有小数部分的数值。Java语言中浮点类型分为单精度浮点型类(float)和双精度浮点类型(double),它们具有不同的取值范围。

创建BMIexponent 类,声明 double 型变量 height 来记录身高,单位为米;声明 int 型变量weigh记录体重,单位为千克;根据 BMI=体重/(身高x身高)计算 BMI 指数。实例代码如下:

public class BMIexponent {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		double height = 1.70;//定义一个double变量,变量名为height,值为1.70
		int weight = 70;//定义一个int变量weight并赋值为70
		double exponent = weight/(height*height);//定义一个double变量exponent,并赋予公式计算结果
		System.out.println("你的身高为:"+height);//输出您的身高
		System.out.println("你的体重为:"+weight);//输出体重
		System.out.println("你的BMI指数为"+ exponent);//输出BMI指数
		System.out.println("你的体重属于:");//输出体重类型
		if (exponent<18.5) {//判断BMI指数是否小于18.5
			System.out.println("体重过轻");//输出结果
		}
		if (exponent>=18.5&& exponent<24.9) {//判断BMI指数是否大于等于18.5
			System.out.println("正常范围");//输出结果
		}
		if (exponent>=24.9&& exponent<29.9) {//判断BMI指数是否大于等于24.9
			System.out.println("体重过重");//输出结果
		}
		if (exponent>=29.9) {//判断BMI指数是否大于29.9
			System.out.println("肥胖");//输出结果
		}
 


}

 运行结果如下:

2.字符型(char)

用于存储单个字符,占用16位(两个字节)的内存空间。在定义字符型变量时,要以单引号表示,如's'表示一个字符。

查看字符与Unicode码互转的结果

在项目中创建类Gess,编写如下代码,将Unicode表中某些位置上的字符以及一些字符在 Unicode表中的位置在控制台上输出。


public class Gess {//定义类
	public static void main(String[] args) {//主方法
		// TODO Auto-generated method stub
		char word = 'd',word2 = '@';//定义char型变量
		int p = 23045,p2 = 45213;//定义int型变量
		System.out.println("d在Unicode表中的顺序位置是:"+(int)word);
		System.out.println("@在Unicode表中的顺序位置是:"+(int)word2);
		System.out.println("Unicode表中的第23045位是:"+(char)p);
		System.out.println("Unicode表中的第45213位是:"+(char)p2);

	}

}

 运行结果如下:

3.转义字符​​​​​​是一种特殊的字符变量,它以反斜杠“\”开头,后跟一个或多个字符。将转义字符赋值给字符变量时,与字符常量值一样需要使用单引号

输出‘\'字符和'*'字符

'\'字符的转移字符'\\','*'字符的Unicode码为2605,实例代码如下


public class Demo {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		char c1 = '\\';//定义一个char类型的变量,变量名为c1,值为'\\'
		char char1 = '\u2605';//定义一个char类型的变量,变量名为char1,值为'\u2605'
		System.out.print(c1);//输出c1运行结果
		System.out.print(char1);//输出char1运行结果/
	}

}

 运行结果如下:

3.布尔类型

布尔类型只有true和false两个值,分别代表布尔逻辑中的“真” 和“假”,用作判断条件,给boolean型变量赋初值赋小写true或false,不会报错,但是如果用大写如TRUE或FALSE就会报错,那么可以在大写的前面加第一个字母为大写的Boolean,则不会报错,大写的Boolean和小写boolean的包装类。



public class TrueOrFalse {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		boolean b1 = true;//定义一个boolean类型的变量b1,将true赋值给b1
		boolean b2 = Boolean.FALSE;//定义一个boolean类型的变量b2,将Boolean.FALSE赋值给b2
		System.out.println(b1);//输出b1运行结果
		System.out.print(b2);//输出b2运行结果

	}

}

运行结果如下:

3.变量与常量

其值能被改变的量称为变量。变量与常量的命名都必须使用合法的标识符。

1.标识符和关键字

标识符
标识符可以简单的理解为一个名字,是用来标识类名、变量名、方法名、数组名、文件名的有效字符序列。

标识符由任意顺序的字母、下划线(-)、美元符号($)、和数字组成。注:不能以数字开头;标识符要避开关键字;变量名中不能有斜杠。

 2.关键字

3.声明变量
在程序运行过程中一直不会改变的量称为常量,通常也被称为“final变量”。常量在整个程序中只能被赋值一次,如果赋值多次,运行结果就会报错,强制运行会显示一串红色英文。

尝试给常量赋值,观察是否会发生错误

在项目中创建类Part,在类体中创建变量age与常量PI。在主方法中分别将变量与常量赋值,通过输出信息可测试变量于常量的有效范围。 
 

public class Part {
    static int age=20;//定义一个int变量,名为age,赋值为20
    static final double PI=3.14;//定义一个double型变量,名为PI,赋值为3.14
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        final int number;//定义一个int变量,名为number,在前面加一个final就变成了常量
        number=1235;//给它赋值
        age=22;//再次对变量进行赋值
        munbe=1456;//错误代码,number为常量,只能赋值一次
        System.out.println(number);//输出
        System.out.println(age);//输出
        System.out.println(PI);//输出
    }
 

}



运行结果如下:

变量的有效范围
变量的有效范围是指程序代码能够访问该变量的区域,若超出该区域,则在编译时会出现错误。在程序中,一般会根据变量的”有效范围“将变量分为”成员变量“和”局部变量“。

成员变量
在类体中所声明的变量被称为成员变量,成员变量在整个类中都有效。

局部变量
在类的方法体中声明的变量(方法内部定义,”{“与”}“之间的代码中声明的变量)称为局部变量。局部变量只在当前代码块中有效,也就是只能在”{“与”}“之内使用。

变量的有效范围如下图所示:

  Java运算符

1.赋值运算符

使用赋值运算符同时为两个变量赋值


public class Eval {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int a, b, c ;//定义三个int型变量a,b,c
		a =15;//定义三个int型变量a,b,c
		b = a + 4;
		c = b;
		c = b = a + 4;//把变量a与4的和赋值给变量b,然后再赋值给变量c
出现两个等号从右往左运算
		System.out.println("c值为:"+c);//输出变量c的值
		System.out.println("b值为:"+b);//输出变量b的值

	}

}

 运行结果如下:

 

 2.算术运算符

           Java中的算术运算符主要有+(加)、-(减)、*(乘)、/(除)、%(求余),他们都是二次元运算符,

Java中算术运算符的功能及使用方式如表:

使用算术运算符模拟计算器

创建ArithmeticOperator类,让用户输入两个数字,分别用5种运算符对着两个数字进行计算

import java.util.Scanner;
public class ArithmeticOperator {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc = new Scanner(System.in);//创建扫描器,获取控制台输入的值
		System.out.println("请输入两个数字,用空格隔开(mun1 mun2):");//输入运行提示
		double num1 = sc.nextDouble();//记录输入的数字num1
		double num2 = sc.nextDouble();//记录输入的数字num2
		System.out.println("num1+num2的和为:"+(num1 + num2));//输出记录的两数的和
		System.out.println("num1-num2的差为:"+(num1 - num2));//输出记录的两数的差
		System.out.println("num1*num2的积为:"+(num1 * num2));//输出记录的两数的积
		System.out.println("num1/num2的商为:"+(num1 / num2));//输出记录的两数的商
		System.out.println("num1%num2的余数为:"+(num1 % num2));//输出记录两数的余数
		sc.close();//关闭扫描器
	}

}

 运行结果如下:输入23 15

3. 自增和自减运算符

++a:先运算后使用

a++:先使用后计算

4.比较运算符

 使用不同的比较运算符判断两个整数的关系


public class Compare {//创建类

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int number1 = 4;//声明int型变量number1
		int number2 = 5;//声明int型变量number2
		//依次将变量number1与number2的比较结果输出
		System.out.println("number1>number2 的返回值为:"+(number1>number2));
		System.out.println("number1<number2 的返回值为:"+(number1<number2));
		System.out.println("number1==number2 的返回值为:"+(number1==number2));
		System.out.println("number1!=number2 的返回值为:"+(number1!=number2));
		System.out.println("number1>=number2 的返回值为:"+(number1>=number2));
		System.out.println("number1<=number2 的返回值为:"+(number1<=number2));

	}

}

 运行结果如下:

 5.逻辑运算符

&&、&:与

||:或

:非

&&:两者都为真,结果就为真

true&&true==true         true&&false==false        false&&false==false  

||:只要有一者为真,结果就是真 

  true||true==true        true||false==true                false||false==false    

| :非真即假非假即真

 |true==false                |false==true

 使用不同的比较运算符判断两个整数的关系:


public class Calculation {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int boys = 15;//男生人数
		int girls = 17;//女生人数
		int totle = boys + girls;//总人数
		boolean result1 = ((boys > girls)&&(totle>30));//男生人数多于女生,且总人数大于30
		boolean result2 = ((boys > girls)||(totle>30));//男生人数多于女生,或总人数大于30
		System.out.println("男生人数大于女生人数并且人数大于30人:"+result1);//结果输出
		System.out.println("男生人数大于女生人数或者人数大于30人:"+result2);

	}

}

 运算结果如下:

6.位运算符

左边最高位是符号位,最高位是0表示正数,若为1则表示负数,负数采用补码表示

&(按位与):

>>>两者都为1,结果才是1

|(按位或):

0变1,1变0

^(按位异域)

:两者相同即为0,不同则为1

~(按位取反)

:0变1,1变0

移位操作

<<,左移

:整体左移空位补0,溢出去掉

>>,右移

整体右移,正数补0,负数补1,溢出去掉

>>>无符号右移

整体右移,空位补0,负数补1,溢出去掉

7.三元运算符

三元运算符的使用格式:

条件式? 值1:值2

8.运算符优先级

 数据类型转换

1.隐式类型转换

自动类型转换:一定不会丢失数据

强制类型转化:有可能会丢失数据

使用隐式转换提升数值的精度


public class Conver {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		byte mybyte = 127;//定义byte型变量mybyte,并把允许的最大值赋予给mybyte
		int myint = 150;//定义int型变量myint,并赋值150
		float myfloat =452.12f;//定义float型变量myfloat,并赋值
		char mychar = 10;//定义char型变量mychar,并赋值
		double mydouble = 45.46546;//定义double型变量,并赋值
		//将运算结果输出
		System.out.println("byte型与float型数据进行运算结果为:"+(mybyte + myfloat));
		System.out.println("byte型与int型数据进行运算结果为:"+(mybyte * myint));
		System.out.println("byte型与char型数据进行运算结果为:"+(mybyte / mychar));
		System.out.println("double型与char型数据进行运算结果为:"+(mydouble + mychar));

	}

}

运行结果如下: 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值