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

java基础语法

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

java基础语法

1.数据类型
1.2 小数类型

 public class Type1 {
   public static void main(String[] args) {
        //小数类型: float(4字节),double(8字节)
        //小数的值,默认为double类型,加后缀F,代表float类型值
        float a = 3.5F;  //Type mismatch: cannot convert from double to float
        double b = 2e3;  //2*10*10*10
        System.out.println(b);
        double c = 3e5;  //3*10^5
        System.out.println(c);   //300000
    
    }
}

 
 

1.3 布尔类型

//布尔类型: boolean,取值为true或false,true表示真,false表示假
boolean d = true;  //直接赋值true或false
System.out.println(d); //true
		
boolean e = 5>3; //间接赋值true和false (关系运算:结果为true或false)
System.out.println(e); //true
		
//boolean f = "false"; //Type mismatch: cannot convert from String to boolean
//注意:boolean不能接收其他类型的值,只有true或false的结果,例如:
//boolean g = 1+2;


 
1.4 字符类型


 

public class Type2 {
	public static void main(String[] args) {
		//字符类型: 用于存储''括住的单个字符,例如‘a’,‘A’
		//字符类型,也叫做小整型,也就是字符与整数之间有一个对应关系; ‘a’--97,‘A’--65
		//学习字符类型,需要关注两张表ASCII表,Unicode表
		//ASCII表是字符与整数值之间的对应关系
		//Unicode表是中文与整数值之间的对应关系(万国码表)
		char a = 'A';
		System.out.println(a);  //A
		
		char b = 65; //char本身是小整型
		System.out.println(b); //A
		
		char c = 'u0041'; //转义 \u代表16进制的数值  61进制的41==十进制65
		System.out.println(c); //A
		
		char d = '企';
		System.out.println(d); //企
		
		char e = 'u4f01';
		System.out.println(e); //企
	}
}



1.5 转义字符

public class Type3 {
	public static void main(String[] args) {
		//转义字符:将原本字符进行含义转变
		//char a = ''';  //单引号括起来的',无法识别,所以需要转义
		
		//转义字符包含:n(换行), t(制表符), \, ', "
		//案例:请打印自我介绍
		System.out.println("姓名:王震;n年t龄:"18";性\别:'女'");
	}
}


1.6 字符串类型

public class Type4 {
	public static void main(String[] args) {
		//字符串:引用类型,用于存储“”括起来的内容
		String a = "hello";
		System.out.println(a);
		String b = a+",world"; //字符串的拼接符,任何类型与字符串拼接,最终结果为字符串
		System.out.println(b); //hello,world
	}
}


2. 类型转换(重点)
有两种转换方式:
a:自动转,低类型转高类型(注意:只有布尔类型不能与其他类型转换)
b:强转, 高类型转低类型
2.1 低类型转高类型

public class Change1 {
	public static void main(String[] args) {
		//1.低类型转高类型----默认转
		byte a = 3;
		short s = a;  //byte -->short
		int  i = s;   //short-->int
		long l = i;   //int  -->long
		float f = l;  //long -->float(小数类型高于整数类型)
		double d = f; //float-->double
	}
}

2.2 高类型转低类型

public class Change2 {
	public static void main(String[] args) {
		//2.高类型转低类型----强转
		double d = 3.5;
		float f = (float)d; //double强转为float类型
		long  l = (long)f;  //3  小数转整数,小数部分截断
		System.out.println(l);
		int   i = (int)l;
		short s = (short)i;
		byte  b = (byte)s;
		System.out.println(b); //3
	}
}

2.3 强转的隐患(扩展说明-原码反码补码)

public class Change3 {
	public static void main(String[] args) {
		//强转的隐患:如果强转时,足够容纳所存的值,则强转后没问题,
		 //如果容纳不了,则不是原来的值,需要计算;  例如下面的案例:
		int i = 257;
		byte b = (byte)i;  //i为3则没有隐患  为257有隐患
		System.out.println(b);  //超出部分,截断
		
		int ii = 130;
		byte c = (byte)ii; //具体结果需要进行原码,反码,补码的换算
		System.out.println(c);
		
		//字符与整数可以互转,int转char强转
		char a = 'A';
		int d = a;
		System.out.println(d);  //65
		char e = (char)d;
		System.out.println(e);  //A
		
	}
}


 

     
3.运算符(重点)
//运算符:特殊的符号参与的式子
3.1 算数运算符

//算数运算符:+ - * / %   ++ --
public class YunSuan1 {
	public static void main(String[] args) {
		int a = 1+2;   //两个整数相加,最终结果为整数
		double b = 1+2.5; //如果有一方为小数,最终结果为小数
		int c = 6/4;  //两个整数相除,最终取整,小数舍弃
		double d = 6/4.0; //算数运算,只要有一方为小数,结果为小数
		//%运算符: 取余(模)运算符
		System.out.println(6%4);  //2
		
		
		//i++:后置自增:先计算表达式的值,变量的值后+1
		//++i:前置自增:变量的值先+1,再计算表达式的值
		//i--:后置自减:先计算表达式的值,变量的值后-1
		//--i: 前置自增:变量的值先-1,再计算表达式的值
		int i=3;
		System.out.println(i++); //3  打印完后变量再+1  i=4
		System.out.println(++i); //5 变量的值先+1
		System.out.println(i--); //5 打印完后变量再-1  i=4
		System.out.println(--i); //3 变量的值先-1
		
	}
}



3.2 赋值运算符

public class YunSuan2 {
	public static void main(String[] args) {
		//赋值运算符: 基本赋值和复合赋值
		//基本赋值:=
		//复合赋值:+= -= *= /= %=
		//1. 基本赋值
		int a = 3;  //初始化赋值
		System.out.println("初始化赋值:"+a); //3
		a = 5;
		System.out.println("基本赋值:"+a); //3
		
		//2.复合赋值
		a += 3;  //a=a+3
		System.out.println("复合赋值:"+a);  //8
		
		a -= 5; //a=a-5
		System.out.println("复合赋值:"+a);  //3
		
		a *= 2; //a=a*2
		System.out.println("复合赋值:"+a);  //6
		
	}
}



3.3 关系运算符(重点)

public class YunSuan3 {
	public static void main(String[] args) {
		//关系运算符:> >= < <= == !=
		//规则:关系运算符的最终结果为true或false
		System.out.println(2>1);   //true
		System.out.println(2>=1);  //true
		System.out.println(2<1);   //false
		System.out.println(2<=1);  //false
		System.out.println(2==1);  //false
		System.out.println(2!=1);  //true
		
		//为什么关系运算符很重要?
		//因为后面的条件判断,循环判断都需要用到关系运算
	}
}




3.4 逻辑运算符(重点)

public class YunSuan4 {
	public static void main(String[] args) {
		//逻辑运算符: 短路与&& 短路或||  逻辑非!    [&, |]
		//规则:最终结果都是true或false
		//&&: 操作数两边全为true,最终才是true
		//||: 操作数两边有一边为true,则结果为true
		//!:  !true->false   !false->true  取反
		//说明:一般逻辑运算符会包含关系运算符,关系运算符的优先级比逻辑大,或加()
		System.out.println(2>1&&0>2);    //false
		System.out.println(true&&true);  //true
		System.out.println(true||false); //true
		System.out.println(!true);       //false--单目运算符(只有一个操作数)
		
		//应用场景:可以用在数学的判断中,例如:  99&&x<12); //true
		
		//&& VS &: 最终结果是一致的,但是过程不同
		//短路与&&:如果第一个式子为false,则不会执行第二个式子
		//逻辑与&: 如果第一个式子为false,依然会执行第二个式子
		
		//|| VS |: 最终结果是一致的,但是过程不同
		//短路或||:如果第一个式子为true,则不会执行第二个式子
		//逻辑或| :如果第一个式子为true,依然会执行第二个式子
		
		//验证结果:把第二个式子作为可改变值的式子即可
		boolean a = true;
		//System.out.println(false&&(a=false)); //第二个操作数没有执行
		//System.out.println(false&(a=false)); //第二个操作数已经执行
		
		//System.out.println(true||(a==false));  //第二个操作数没有执行
		System.out.println(true|(a=false));     //第二个操作数已经执行
		
		System.out.println("a的结果为--->"+a);	
		
		//结论:后续一般都会使用&& ||,很少使用& |;  短路的效率更高
 	}
}


3.5 三目运算符

public class YunSuan5 {
	public static void main(String[] args) {
		//表达式:由运算符和操作数组成的式子  
		//例如:算数运算符参与--算数表达式; 关系运算符参与--关系表达式
		
		//三目运算符(三个操作数):    (关系表达式)?值1:值2
		//规则:关系表达式成立,则值1为最终结果;否则值2为最终结果
		String a = (5<3)?"是true":"是false";
		System.out.println(a);
		
		//应用场景:用于求最大值和最小值
		int x=2,y=1;
		int max = (x>y)?x:y;
		System.out.println("最大值为:"+max);
		
		int min = (x 



        
4. 自动类型提升与控制台录入
4.1 自动类型提升

public class Control1 {
	public static void main(String[] args) {
		//自动类型提升:
		//a.算数运算时,操作数是高类型,则最终结果为高类型
		//b.如果操作数为byte和short的运算,最终结果为int
		byte a = 3;
		short b = 5;
		//short s = a+b; //Type mismatch: cannot convert from int to short
		int s = a+b;
		System.out.println(s);

	}
}



4.2 控制台录入

public class Control2 {
	public static void main(String[] args) {
		//控制台录入: 用于接收控制台输入的值(有不同类型值,所以接收时需要调用不同的方法及不同的数据类型)
		//步骤:1.导包
		//  2.实例化对象(面向对象-后续会讲)
		Scanner scanner = new Scanner(System.in);
		System.out.println("请输入一个值:");
		//  3.调用方法接收不同类型的值
		//int num = scanner.nextInt();  //接收int类型的值--阻塞方法(常用)
		//String num = scanner.next();   //接收String类型的值(常用)
		//double num = scanner.nextDouble(); //接收double类型的值
		char num = scanner.next().charAt(2);   //获取字符串中的指定下标位置字符值,下标从0开始
		System.out.println("打印:"+num);
		
		//注意:如果输入的数不匹配类型,则会提示:InputMismatchException
	}
}

总结梳理:


每日必备单词:
1. relation [rɪˈleɪʃn] 关系                           2.logic [ˈlɒdʒɪk] 逻辑      
3.arithmetic [əˈrɪθmətɪk] 算数/算术             4.break [ breik ]中断          
5. return [rɪˈtɜːn] 返回                   6. console [kənˈsəʊl]  控制台
7.scanner [ 'skænə ]扫描仪             8. binary [ˈbaɪnəri] 二进制 
9. octal ['ɒktəl] 八进制                               10. decimal [ˈdesɪml] 十进制
11. hexadecimal[ˌheksəˈdesɪml]十六进制     12. assign [əˈsaɪn] 赋值/指定
13. expression [ɪkˈspreʃn] 表达式          14. input [ˈɪnpʊt] 输入
15. mismatch [ˌmɪsˈmætʃ] 不匹配            16. exception [ɪkˈsepʃn] 异常  

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

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

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