JavaSE(二)--基本语法

1.变量:

在内存中开辟一块空间存储数据的.

  • 变量的三要素(三个组成部分):
    变量名,变量数据类型,变量值.
    (java是一种强类型的语言),变量名采用驼峰式命名法.
  • 变量数据类型与变量值的类型要一致.
  • 变量必须先声明赋值后,才能使用.
  • =叫赋值号:将=右边的值赋给左边.
  • 变量声明和赋值的语法:
	  1:直接声明变量的语法 :数据类型 变量名;
		eg://声明变量
		   String name;
     2:声明变量的同时赋值: 数据类型 变量名=值;
		eg:int age=18;
		float height=1.7f;
		char sex='女';
		float wangHeight=1.8f;
		boolean result=height>wangHeight;
		double weight=40.5;
		long money=1000000000000L;
	 3:变量赋值的语法:变量名=值;
		eg:name="张三";
		   name="李四";
  • 在同一个范围内不能出现相同变量名
    (目前来理解在同一main方法不能声明两个相同变量)

  • (了解)可以同时声明多个相同变量然后赋值:数据类型 变量名1,变量名2=值,变量名3;

		eg:String name1,name2,name3="王五",name4,name5="赵六";
		System.out.println("第五个学生姓名:"+name5);
		System.out.println("第三个学生姓名:"+name3);
  • 常量:一但赋值不可更改.
    常量声明和赋值语法:final 数据类型 常量名=值;
		eg:final char XUE_SEX='男';
		   //XUE_SEX='女';
  • (扩展)变量的分类:
    1:按数据类型来分:
    基本数据类型的变量:变量的数据类型是byte,short,int,long,
    float,double,boolean,char
    引用数据类型的变量:变量的数据类型是String,数组,集合,类,接口
    2:按变量声明的位置分:
    局部变量:在方法中声明的变量.
    成员变量:在类中方法外面直接声明的变量.

2.java中常用数据类型

2.1:基本数据类型:

整型:
byte(1个字节),short(2个字节),int(4个字节),long(8个字节) (一般整数默认就是int)
浮点型:
float(4个字节),double(8个字节) (一般小数默认是double)
布尔类型:
boolean(值只能是true/false)
字符类型:
char(1个字符)

2.2:引用数据类型:

字符串(String),数组,集合,类,接口

		eg:public static void main(String[] args){
		//声明变量
		String name;
		
		//给变量赋值,字符串要用""赋值
		name="张三";
		
		name="李四";
		
		//在声明变量的同时赋值,整数和小数可以直接给值,char类型要用''给值
		int age=18;
		float height=1.7f;
		char sex='女';
		float wangHeight=1.8f;
		boolean result=height>wangHeight;
		double weight=40.5;
		long money=1000000000000L;
		
		//声明常量
		final char XUE_SEX='男';
		//XUE_SEX='女';
		
		System.out.println("姓名为:"+name);
		System.out.println("年龄为:"+age);
		System.out.println("性别为:"+sex+",体重为:"+weight);
		System.out.println("身高为:"+height);
		System.out.println("我比王祥醒高:"+result);
		System.out.println(name+"的性别为:"+XUE_SEX);
		System.out.println("银行的存款:"+money);
	}

2.3:char存储

char存单个字符,但因为在部分字符在对应ASCII码和Unicode码(ASCII编码集和Unicode万国码了解下)

		eg://char与ansii码,unicode码使用
		char c1='A';
		char c2=65;//A对应ansii码
		char c3='\u0041';//A对应unicode码
		System.out.println("c1="+c1+",c2="+c2+",c3="+c3);

3.转义字符:

所有转义字符必须全定在""中
在这里插入图片描述

eg:System.out.println("c1="+c1+",\nc2="+c2+",\tc3="+c3);

4.数据类型转换

4.1:自动类型转换:语法:

目标类型 变量名=原类型的变量
兼容:同种类型

4.1.1:两种类型要兼容.

4.1.2:目标类型大于原类型(小转大)

		eg:int num1=11;
		//自动类型转换,int->long
		//long类型中存的值如果是在int范围内可以不带L,超过int范围是一定要带L
		long num2=num1;
		System.out.println("num2="+num2);
		//自动类型转换
		float num3=num1;
		double num4=num1;
		System.out.println("num4="+num4);

4.2:强制类型转换 语法:

目标类型 变量名=(目标类型)原类型的变量

4.2.1:两种类型要兼容.

4.2.2:目标类型小于原类型(大转小)

		eg://强制类型转换
		float num5=22.0f;
		int num6=(int)num5;
		System.out.println("num6="+num6);
		//强制类型转换
		double num7=6.88;
		int num8=(int)num7;
		System.out.println("num8="+num8);
		
		float num9=(float)6.18;
		System.out.println("num9="+num9);

4.3:int与char之间转换:(原因就ascii码和unicode码)

4.3.1:char转换为int

eg://char从  ascii码编码0-255 ,unicode码/u0000-/uffff(0-65535)内数字或         字符或编码都自动转换为类型
		char c1=65535;
		char c2='A';
		char c3='我';
		int num11=c3;
		System.out.println("num11="+num11);

4.3.2:在码表范围内int类型转换为char类型,要进行强制类型转换

		eg:int num12=65;
		char c4=(char)num12;
		System.out.println("c4="+c4);

4.4:byte类型int:

当一个数赋值给变量时,超过变量取值范围,就在这个范围内转圈圈

		byte b1=11;//11
		byte b2=11+11;//22
		//byte b3=200;//报错
		//当一个数赋值给变量时,超过变量取值范围,就在这个范围内转圈圈
		byte b3=(byte)200;//-56=200-(取值范围中数127+128+1)
		byte b4=(byte)2000;//-48=2000-(取值范围中数127+128+1)*n
		byte b5=(byte)273;//17

5.运算符:

5.1:算术运算符:

** +,-,*,/,%,++,-- **

5.1.1:-,*与数学中用法是一样的,算术运算.

5.1.2:+:如果+左右两边是数字,作算术运算

如果+左右两边有一边是字符串,起连接作用

		eg:int num1=11;
		//起算术运算
		int num2=11+22;
		//起连接作用
		System.out.println("num2的值为:"+num2);
		//第一个+起算术运算,第二个+起连接作用
		System.out.println(1+1+"1");//21
		//两个+起连接作用
		System.out.println("1"+1+1);//111

5.1.3:/:算术运算,在java中 整形数字=整形数字/整形数字;

	eg://除法运算
	int num3=9/3;//3
	int num4=10/3;//3

5.1.4:%(求余/取模):求两个数的余数.

	eg://求余运算
    int num6=10%3;//1

5.1.5:在算术运算中,有一个数为大类型,则结果为大类型

	eg:double num5=10/3.0;
	System.out.println("num5="+num5);
	  
     //给你一个随机四位数,算出各位数之和.eg: 1234 结果10
	int num=3456;
	int qianWei=num/1000;
	int baiWei=num/100%10;
	int shiWei=num/10%10;
	int geWei=num%10;
	int sum=qianWei+baiWei+shiWei+geWei;

5.1.6:++:自身+1,–:自身-1

 如果++在变量的前面,变量先自身加1,再参与运算.
 如果++在变量的后面,变量先参与运算,再自身加1.
 如果--在变量的前面,变量先自身减1,再参与运算.
 如果--在变量的后面,变量先参与运算,再自身减1.
eg:int count1=10;
	//int result1=++count1;//11 ->count1=count1+1//11,result1=count1
	//int result2=count1--;//11->result2=count1//11,count1=count1-						1//10
	//System.out.println("result1="+result1+",result2="+result2);
	//System.out.println("count1="+count1);//10	
	
	//int result3=(count1--)+(++count1)+count1*count1;//120
	//result3=(10)+(++count1)+count1*count1; count1=9
	//result3=(10)+(10)+count1*count1; count1=10
	
	int result4=(++count1)+(count1--)+(--count1)*(++count1);//112
	//result4=(11)+(count1--)+(--count1)*(++count1); count1=11
	//result4=(11)+(11)+(--count1)*(++count1); count1=10
	//result4=(11)+(11)+(9)*(++count1); count1=9
	//result4=(11)+(11)+(9)*(10); count1=10
	System.out.println(result4);

5.2:关系运算符:

表比较,>,>=,<,<=,==(表示相等),!=(表示不相等)

		eg:int num1=11;
		int num2=13;
		boolean result1=num1==num2;
		System.out.println("result1="+result1);
		
		boolean f1=true;//对
		boolean f2=f1;//对
		//boolean f3==f2;//错
		boolean f4=f2=f1;//对
		//先进行==,再=赋值
		boolean f5=f2==f1;//对

5.3:逻辑运算符:

与(&,&&),或(|,||),非(!)

  • 与:左右两边的式子为true,结果就为true,如果左右两边有一个式子为false,结果为false.
    &:&左右两边的式子无论是true或false,两个式子都会执行.
    &&(短路与):&&左边的式子为false,右边的式子不会执行.
  • 或:左右两边的式子有一个为true,结果就为true,两边都为false,结果才为false
    |:|左右两边的式子无论是true或false,两个式子都会执行.
    ||(短路或):||左边的式子为true,右边的式子不会执行.
  • 非:取反
		eg:int num3=10;
		
		//boolean result2=(++num3)<10&(--num3)<10;//&左右两边都执行num3=10
		//boolean result2=(++num3)<10&&(--num3)<10;//&&左边为false,
				右边不执行num3=11
		//boolean result2=(++num3)<10|(--num3)<10;//|左右两边都执行num3=10
		//boolean result2=(++num3)<10||(--num3)<10;//||左边为false,
				两边都执行num3=10
		boolean result2=(++num3)>10||(--num3)<10;//||左边为true,右边不执行num3=11
		System.out.println("num3="+num3);//11

5.4:赋值运算符:=,+=,-=,*=,/=

5.4.1:=:将=右边的值赋值给左边.

5.4.2:+=,-=,*=,/=

将符号左边的数加上或减去或乘或除以右边的数,将结果赋值给左边.

		eg://=的使用
		int num=23;
		//+=的使用
		num+=20;//<=>num=num+20
		System.out.println("num="+num);

6.三目运算符(三元运算符):

语法 :关系表达式?值1:值2
执行特点:
如果关系表达式结果为true,整个式子结果为值1;
如果关系表达式结果为false,整个式子结果为值2;

	eg://三元运算
		int result1=1>2?1:2;
		System.out.println("result1="+result1);

7.表达式:操作数+运算符.

算术表达式:式子中只有算术运算符和操作数.算术表达式的结果是数值
关系表达式(布尔表达式):只要式子有关系运算符.关系表达式的结果是boolean.

8.控制台输入(从键盘上接收数据):三步

  • 第一步:导包import java.util.Scanner;导在类的上面
  • 第二步:获得从键盘上接上数据的能力
			Scanner input=new Scanner(System.in);
  • 第三步:用这个能力得到指定类型的值
   		接收int类型的值    input.nextInt();
   		接收double类型的值    input.nextDouble();
   		接收String类型的值    input.next();
   		接收Char类型的值    input.next().charAt(0);

注意: 如果接收值与要求数据类型不匹配,会报InputMismatchException

个人笔记,思路,仅供参考

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值