Java的基本程序设计结构(数据类型、变量、运算符)

一、一个简单的Java应用程序

public class FirstSample
{
	public static void main(String[] args)
	{
		System.out.println("We will not us 'Hello,World'");
	}
}

输出为:
We will not us ‘Hello,World’
1:类名以大写字母开头,如果由多个单词组成,每个单词第一个字母大写。称 为驼峰命名法。
2:源代码的文件名必须和公共类的名字相同,并用java做扩展名。

二、数据类型

1、整型

类型存储需求取值类型
byte1字节-128~127
short2字节-32768~32767
int4字节-2147483648~2147483647
long8字节-9223372036854775808~9223372036854775807

long类型最后要加l
十六进制数值有一个前缀0x或0X
八进制数值有一个前缀0
二进制数值有一个前缀0b或0B

2、浮点类型

类型存储需求取值类型
float4字节大约3.40282347E+38F(有效数字为6~7)
double8字节大约1.79769313486231570E+308(有效数字为15位)

3、char类型

char类型原本用于表示单个字符,现在情况有所变化。有些Unicode字符可以用一个或两个char值描述。
char类型的字面量值要用单引号括起来。例如,‘A’是编码值为65所对应的字符常量。它与“A”不同,“A”是包含一个字符A的字符串。
码点:指与一个编码表中某个字符对应的代码值。
代码单元:存储空间单位

4、boolean类型

boolean(布尔)类型有两个值:false和true,用来判定逻辑条件。

三、变量

在java中,每个变量都有一个类型。在声明变量时,变量的类型位于变量名之前。声明一个变量后,必须用赋值语句对变量进行显式初始化。
在Java中,利用关键字final指示常量。例如:

public class FirstSample
{
	public static void main(String[] args)
	{
		final double CM_PER_INCH=2.54;
		double paperWidth=8.5;
		double paperHeight=11;
		System.out.println("Paper siza in centimeters:"
	    +paperWidth*CM_PER_INCH+"by"+paperHeight*CM_PER_INCH);
	}
}

final

  • 防止指令重排序
  • 线程安全
  • 阻止继承

四、运算符

1、数值类型之间的转换

数值类型之间的合法转换

2、强制类型转换

double x=9.997;
int nx=(int) x;

这样,变量nx的值为9。

3、结合赋值和运算符

x+=4;等价于x=x+4;

4、自增与自减运算符

public class Qaz
{
	public static void main(String[] args)
	{
		int a=10;
		if(a++==10)
		{
			System.out.println("先判别,再加");
		}
		else
		{
			System.out.println("先加,再判别");
		}
		if(++a==10)
		{
			System.out.println("先判别,再加");
		}
		else
		{
			System.out.println("先加,再判别");
		}
	}
}

输出为:

先判别,再加
先加,再判别

5、关系和boolean运算符

  • &&:逻辑与
  • ||:逻辑或
  • !=:不等于
  • 三元运算符
    condition?expression1:expression2
    如果条件为true,表达式就为第一个表达式的值,否则计算为第二个表达式的值。

6、位运算符

  • &(”and“)
  • | (”or”)
  • ^ (“xor”)
  • ~(“not”)
public class Qaz
{
	public static void main(String[] args)
	{
		int a=23;
		int b=45;
		int s1=a&b;
		int s2=a|b;
		int s3=a^b;
		int s4=~a;
		System.out.println(s1);
		System.out.println(s2);
		System.out.println(s3);
		System.out.println(s4);
		
	}
}

输出结果为
5
63
58
-24
a=23,转化为二进制是00010111
b=45,转化为二进制是00101101
&是按位取“与”,结果为00000101,即为5
|是按位取“或”,结果为00111111,即为63
^是按位取“异或“(即相同取0,不同取1),结果为00111010,即为58
~是按为取反,即为11101000,反码10010111,加1后得10011000,即为-24
另外,还有>>和<<位运算符见模式左移或右移。

public class Qaz
{
	public static void main(String[] args)
	{
		int a=23;
		int b=a<<3;
		int c=a>>2;
		System.out.println(b);
		System.out.println(c);
	}
}

输出结果为:
184
5
a=23;转化为二进制为00010111,左移三位是10111000(int类型为32位,这里只写了后八位),即为184。右移两位是00000101,即为5。
>>>运算符会用0填充高位,这与>>不同,它会用符号位填充高位。

7、括号与运算符级别

运算符结合性
[ ] . ( )(方法调用)从左向右
! ~ ++ – +(一元运算符) -(一元运算符()(强制类型转换)new从左向右
*/%从左向右
+ -从左向右
<< >> >>>从左向右
< <= > >= instanceof从左向右
== !=从左向右
&从左向右
^从左向右
|从左向右
&&从左向右
||从左向右
?:从左向右
= += -= *= /= %= &= |= ^= <<= >>= >>>=从右向左

例如a+=b+=c等价与a+=(b+=c)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值