J2SE基础语法

标识符

  • Java对各种变量、方法、类等要素命名时使用的字符序列
  • 标识符命名规则(见名知意):
规则举例(不合法标识符)
由字母、下划线“_”、美元符“$”或数字组成DataClass#
以字母、下划线、美元符开头98.7
不能与关键字重名class
大小写敏感,长度无限制Hell World

关键字

  • Java中一些赋以特定含义,用作专门用途的字符串称为keyword,Java中所有关键字都是小写英文。例如:class,public,if,void…

Java变量与常量

  • 常量:常量值用字符串表示,区分为不同数据类型
    整型常量256
    实型常量3.14
    逻辑常量:true、false
    字符常量’a’
    字符串常量"helloworld"
    还会用在另外其他语境中表示值不变的变量(不可变的变量):final关键字
  • 变量:程序中最基本的存储单元
    1.要素:变量名,变量类型、作用域
    2.每个变量都属于特定的数据类型,使用前必须声明,例:
    int i=100;
    float f=12.3f;
    double d1,d2,d3=0.123;
    String s="hello";
    3.本质上讲,变量是内存中的一小块区域,使用变量名来访问这块区域。每一个变量使用前必须先申请(声明),然后必须赋值(填充内容),才能使用。
    4.分类:按声明位置分为局部变量成员变量,按数据类型划分为基本数据类型变量引用数据类型变量(类外不能有变量声明)。
    5.局部变量:方法体内部声明的变量,包括形参;
    成员变量:方法体外类体内声明的变量;

数据类型划分

在这里插入图片描述
基本数据类型:4类8种

  • 逻辑型—boolean
    适于逻辑运算,一般用于程序流程控制,只允许取值true或false。
  • 字符型—char
    字符常量为用单引号括起来的单个字符,例:
    char eChar='a';char cChar='中';
    Java字符采用Unicode编码,每个字符占两字节,例:
    char c1='\u0061';
    转义字符‘\’来将其后的字符转变为其他含义,例:
    char c2='\n';
  • 整数型—byte,short,int,long
    Java各整数类型有固定的表数范围和字段长度,不受具体操作系统的影响,保证程序的可移植性。
类型占用存储空间表数范围
byte1字节-128~127
short2字节-215~215-1
int4字节-231~231-1
long8字节-263~263-1

整型常量三种表示形式:十进制,八进制(例:013),十六进制(例:0x13,0X13)。
注:整型常量默认int型,声明long型常量后加‘l’或‘L’。
int i1=600;//正常
long I1=88888888888L//必须加L(或l)

  • 浮点数型—float,double
类型占用存储空间表数范围
float4字节-3.403E38~3.403E38
double8字节-1.798E308~1.798E308

Java浮点类型常量有两种表示形式:十进制(例:3.14 .314)科学记数法(例:3.14e2 3.14E2 100E-2)。
注:浮点型常量默认double型,声明float型常量后加‘f’或‘F’。
double d=12345.6;//正常
float f=12.3f//必须加F (或f)

基础数据类型转换

  • boolean类型和其他数据类型不能相互转换。
  • 整型,字符型,浮点型在混合数据运算中相互转换,遵守:
    1.容量小的数据类型自动转换为容量大的数据类型,排序为:byte,short,char<int<long<float<double,byte,short,char之间不会相互转换,三者在计算时先转换为int类型。
    2.大数据类型转小数据类型要加强制转换符,但可能造成精度降低或溢出;多种数据类型混合运算时,系统首先自动将所有的数据类型转换为大的那一种数据类型再计算。
public class TextConvert2{
	public static void main(String arg[]){
		int i = 1,j;
	    float f1 = 0.1F;//((float)0.1 )
	    float f2 = 123;
	    long l1 = 12345678,l2 = 8888888888L;//l2 int盛不下要加L,l1不加也不出错,但是声明long变量一般加上不会出错。
	    double d1 = 2e20,d2 = 124;
	    byte b1 = 1,b2 = 2,b3 =(byte)129;
		System.out.println(b3);//b3=-127
		
		//j = j + 1;//变量声明后要赋值才能用
		i = i/10;
		System.out.println(i);//结果为0
		i = (int)(i*0.1);
		System.out.println(i);
		
		char c1 = 'a',c2 = 125;
		System.out.println("c1=" + c1 +",c2=" + c2);
		byte b =(byte)(b1-b2);
		char c = (char)(c1+c2-1);
		System.out.println("b=" + b + ",c=" + c);
		
		float f3 = f1+f2;
		System.out.println(f3);
		float f4 = (float)(f1+f2*0.1);// 注意:强制转换后面式子,式子整体要加上括号
		System.out.println(f4);
		double d = d1*i;
		float f = (float)(d1*5+d2);
		System.out.println(f);
	}
}
//实数常量(例:2.3)默认为double
//整数常量(例:123)默认为int

运算符

  • 算数运算符:+,-,*,/,%(取模或求余),++,–
    注:++,–在前时先运算后取值,在后时先取值再运算。
  • 关系运算符:>,<,>=,<=,==(逻辑判断),!=
  • 逻辑运算符:!(非),&(与),|,(或),^(异或),&&(短路与),||(短路或)
public class Test {
	public static void main(String args[]) {
		int i = 1,j = 2;
		boolean flag1 = (i > 3) && ((i + j) > 5);
		boolean flag2 = (i < 2) && ((i + j) < 6);
		//短路与、短路或,第二个操作操作数将不再计算
		
	}
}
  • 位运算符:&,|,^,~,>>,<<,>>>
  • 赋值运算符:=
  • 扩展赋值运算符:+=,-=,*=,/=
运算符用法等效表达式
+=a += ba = a + b
-=a -=ba = a - b
*=a *= ba = a * b
/=a /= ba = a / b
%=a %= ba =a % b
  • 字符串连接运算符:+ (运算符两侧的操作数只要有一个是字符串Sting类型,系统会自动将另一个操作数转换为字符串然后再进行连接。当进行打印时,无论任何类型都自动转换为字符串进行打印)
  • 三目条件运算符
int x = -100;
		int flag = x > 0 ? 1 : (x == 0 ? 0 : -1);
		//flag = -1

表达式

  • 对表达式中操作数进行运算得到的结果称为表达式的值,表达式值的数据类型即为表达式的类型。
  • 按照运算符优先级从高到低顺序进行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值