1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > java主类结构 基本数据类型 变量与常量 运算符 数据类型转换 代码注释与编码规范

java主类结构 基本数据类型 变量与常量 运算符 数据类型转换 代码注释与编码规范

时间:2019-05-21 02:02:31

相关推荐

java主类结构 基本数据类型   变量与常量 运算符 数据类型转换 代码注释与编码规范

基本数据类型

在eclipe下依次创建项目,创建包,创建类。在类体重输入一以下内容:

package a;public class test {static String s1="你好";public static void main(String[] args){String s2="java";System.out.println(s1);System.out.println(s2);}}

整数类型:(bete、short、int、long)

byte b;//指定变量b为byte型 (最小值-128 最大值127)

一个常量,保存 byte 类型可取的最大值,即 27-1。(127)

一个常量,保存 byte 类型可取的最小值,即 -27。(-128)

----------------------------------------------------------

short s;//指定变量s为short型

保存 short 可取的最大值的常量,最大值为 215-1。(32 767)

保存 short 可取的最小值的常量,最小值为 -215。(-32 768)

-----------------------------------------------------------

int i;//指定变量i为int型

值为 231-1 的常量,它表示 int 类型能够表示的最大值。

值为 -231 的常量,它表示 int 类型能够表示的最小值。

----------------------------------------------------------

long l;//指定变量l为long型

保持 long 类型的最大值的常量,该值为 263-1。

保持 long 类型的最小值的常量,该值为 -263。

package a;public class test {public static void main(String [] args){byte a=111;short b=222;int c=333;long d=444;long sum=a+b+c+d;//获得各数相加的结果System.out.printf("结果为:"+sum);//将以上变量相加的结果输出}}

浮点类型:(float(内存空间,4个字节,也就是32位)、double(64位))

注意:要是使用float类型的小数,必须要在小数后面加上F或者f;double类型的可以加D或者d或者不加;但是,如果在声明float类型的小数时没有加f或者F,则会默认为double类型

package a;public class test {public static void main(String[] args){float a=123.12f;double b=123.12d;System.out.println(a);System.out.println(b/10);}}控制台输出:123.1212.312000000000001

字符类型: 1:char型:(两个字节)

Unicode编码采用无符号编码,可以存储65536个字符(0x0000~0xffff)

char型显式转换:

package a;public class test {public static void main(String[] args){char word1='d',word2='@';int p1=123,p2=234;System.out.println("d在unicode表中的顺序位置为:"+(int)word1);System.out.println("@在unicode表中的顺序位置为:"+(int)word2);System.out.println("unicode表中第123位为:"+(char)p1);System.out.println("unicode表中第234位为:"+(char)p2);}}控制台输出:d在unicode表中的顺序位置为:100@在unicode表中的顺序位置为:64unicode表中第123位为:{unicode表中第234位为:ê

2.转义字符(\ddd、\dxxxx、\'、\t、\r、\n、\b、\f)

将转义字符赋值给字符变量时,与字符常量值一样需要使用单引号:

package a;public class test {public static void main(String[] args){char c1='\\';char c2='\u2605';System.out.println(c1);System.out.println(c2);}}控制台输出结果:\★

布尔类型:boolean(true和flase)

boolean b;

boolean b1,b2;

boolean b=true;

变量与常量

1.标识符和关键字

Java标识符由数字,字母和下划线(_),美元符号($)或人民币符号(¥)组成。在Java中是区分大小写的,而且还要求首位不能是数字。最重要的是,Java关键字不能当作Java标识符。

合法的标识符:

name

user_age

$page

非法的标识符:

4word

Strinf

User name

2.声明变量

在程序运行过程中一直不会改变的值的量成为常量(constant),通常也被称为“final变量”.常量在整个程序中,只能被赋值一次。声明常量的标准语法为:

final 数据类型 常量名称[=值];

package a;public class test {static final double PI=3.14;static int age=123;public static void main(String[] args){final int number;number=12345;age=22;System.out.println("常量PI的值为: "+PI);System.out.println("赋值后number的值为: "+number);System.out.println("int型变量age的值为: "+age);}}控制台输出结果:常量PI的值为: 3.14赋值后number的值为: 12345int型变量age的值为: 22

3.变量的有效范围

(1)成员变量

类体中岁定义的变量被称为成员变量。成员变量在整个类中都有效。类的成员变量又可分为两种:静态变量和实例变量。

声明静态变量和实例变量:

class var{

int x=45;

static int y=90;

}

变量的有效范围是指程序代码能够访问该变量的区域,若超出该区域访问变量,则编译时会出现错误。有效范围决定了变量的生命周期,变量的生命周期是指从声明一个变量并分配内存空间开始,到释放该变量并清除所占用的内存空间结束。进行变量声明的位置,决定了变量的有效范围,根据有效范围的不同,可以将变量分为以下两种。

成员变量:在类中声明,在整个类中有效。

局部变量:在方法内或方法内的某代码块(方法内部,“{”与“}”之间的代码)中声明的变量。在代码块声明的变量,只在当前代码块中有效;在代码块外、方法内声明的变量在整个方法内都有效。

类的成员变量又可分为两种:静态变量和实例变量。静态变量是指通过static关键字进行修饰的成员变量,没有被static关键字修饰的变量为实例变量。它们的区别如下。

静态变量的有效范围是整个类,并且可以被类的所有实例共享。可以通过“类名.变量名”的方式来访问静态变量。静态变量的生命周期取决于类的生命周期,当类被加载时,为类中的静态变量分配内存空间,当卸载类时,释放静态变量占用的空间,静态变量被销毁。类加载时,就为静态变量分配内了存空间,之后无论创建了多少类的实例,都不会再为静态变量分配内存空间,这些实例会使用同一个静态变量。

实例变量与类的实例对应,它的有效范围是整个实例。每创建一个类的实例,都会为当前实例分配实例变量的内存空间。所以实例变量的生命周期取决于实例的生命周期,实例被创建时,为实例变量分配内存空间,当销毁实例时,释放实例变量占用的内存空间。

(2)局部变量

在类的方法体中定义的变量,(也就是“{ ”和“}”之间的代码中生命的变量)称之为局部变量。局部变量之在当前代码块中有效。

package a;public class test { //新建类static int times=3; //定义成员变量timespublic static void main(String[] args)//主方法{int times=4; //定义局部变量times;System.out.println("times的值为:"+times);//输出}}控制台输出结果:times的值为:4

运算符

1、赋值运算符

package a;public class test { //新建类public static void main(String[] args){int a,b,c;a=15;c=b=a+4;System.out.println("c的值为:"+c);System.out.println("b的值为:"+b);}}控制台输出结果:c的值为:19b的值为:19

2、算术运算符

算术运算符主要有(+ - * / %)(和c语言中的一样)

package a;public class test { public static void main(String[] args){float a=123.45f;int b=111;System.out.println("和为:"+a+b);System.out.println("差为:"+(a-b));System.out.println("积为:"+a*b);System.out.println("商为:"+a/b);System.out.println("求余为:"+a%b);}}控制台运行结果:和为:123.45111差为:12.449997积为:13702.949商为:1.1121621求余为:12.449997

注意:我在敲这几则运算的时候,出现了一个错误:因为java是从左到右处理的,在减法运算前有""字符串处理, java就会把之后的都当做字符串处理.改成System.out.println("差为:"+(a-b)); 如果要是+a-b就会有以下提示:

3、自增自减运算符

++a(--a) //表示在使用变量a之前,先使a的值加(减)1

a++(a--) //表示在使用变量a之后,使a的值加(减)1

package a;public class test { public static void main(String[] args){int b=1,d1,d2;d1=++b;d2=b++;System.out.println("d1结果为:"+d1);System.out.println("d2结果为:"+d2);}}控制台的输出:d1结果为:2d2结果为:2

4、比较运算符

package a;public class test { public static void main(String[] args){int b1=1;int b2=2;System.out.println("b1>b2的返回值为:"+(b1>b2));System.out.println("b1<b2的返回值为:"+(b1<b2));System.out.println("b1==b2的返回值为:"+(b1==b2));System.out.println("b1!=b2的返回值为:"+(b1!=b2));System.out.println("b1>=b2的返回值为:"+(b1>=b2));System.out.println("b1<=b2的返回值为:"+(b1<=b2));}}控制台的输出:b1>b2的返回值为:falseb1<b2的返回值为:trueb1==b2的返回值为:falseb1!=b2的返回值为:trueb1>=b2的返回值为:falseb1<=b2的返回值为:true

这里我敲代码时出现了一个小错误:(是因为,我在定义的时候,定义的b1、b2,但是我不小心敲成了b、b2);

5、逻辑运算符((逻辑与&&、&)、逻辑或||、逻辑非!)

package a;public class test { public static void main(String[] args){int a=2,b=5;boolean sum1=((a>b)&&(a!=b));boolean sum2=((a>b)||(a!=b));System.out.println(sum1);System.out.println(sum2);}}控制台的输出结果:falsetrue

6、位运算符

1. 按位与运算 按位与运算符"&"是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1 ,否则为0。参与运算的数以补码方式出现。

例如:9&5可写算式如下: 00001001 (9的二进制补码)&00000101 (5的二进制补码)00000001 (1的二进制补码)可见9&5=1。

按位与运算通常用来对某些位清0或保留某些位。例如把a 的高八位清 0 , 保留低八位,可作 a&255 运算 ( 255 的二进制数为0000000011111111)。

2. 按位或运算 按位或运算符“|”是双目运算符。其功能是参与运算的两数各对应的二进位相或。只要对应的二个二进位有一个为1时,结果位就为1。参与运算的两个数均以补码出现。

例如:9|5可写算式如下: 00001001|00000101

00001101 (十进制为13)可见9|5=13

//#define rson m+1,r,rt<<1|1

//代表着m+1,r,rt的二进制左移一位,然后再按位或

//按位或“|”,是双目运算符,当两个数的二进制对应的二进制位,有一个为1是,结果就为1.

3.按位取反“~”

4.按位异或“^”:当两个操作数的二进制表示相同(同时为1或者同时为0)时,结果为0,否则为1.

5.<<左移 >>右移 >>>无符号右移(无符号右移,不管高位是0还是1,左移空的高位都填入0)

y<<2和y*4的结果一样;y>>1和y/2的结果一样,也就是一个数左移n位,就是这个数乘以2的n次方。右移是除

6、三元运算符

三元运算符的格式:条件式? 值1:值2

等价于三元运算符的if-else语句:boolean a;if(20<45)a=true;elsea=false;

7、运算符优先级

数据类型转换

1、隐式类型转换

从低级类型向高级类型的转换,系统会自动执行。

package a;public class test { public static void main(String[] args){int x=50;float y=x;System.out.println(x);System.out.println(y);}}控制台的输出:5050.0

package a;public class test { public static void main(String[] args){byte a=1;int b=2;float c=3.3f;char d=4;double e=5;System.out.println("byte型和float型数据进行运算的结果为:"+a+c);System.out.println("byte型和int型数据进行运算的结果为:"+a*b);System.out.println("byte型和char型数据进行运算的结果为:"+a/d);System.out.println("double型和char型数据进行运算的结果为:"+e+d);}}控制台输出:byte型和float型数据进行运算的结果为:13.3byte型和int型数据进行运算的结果为:2byte型和char型数据进行运算的结果为:0double型和char型数据进行运算的结果为:5.0

2、显式类型转换

(类型名) 要转换的值

package a;public class test { public static void main(String[] args){int a=(int)45.23;long b=(long)456.6f;int c=(int)'d';System.out.println("a的值为:"+a);System.out.println("b的值为:"+b);System.out.println("c的值为:"+c);}}控制台的输出结果:a的值为:45b的值为:456c的值为:100

代码注释与编码规范

/**/ 多行注释

// 单行注释

/** */ 文档注释(这两个符号之间,均为文档注释的内容)

小总结:

这次的博客真的是好用心的,中间断网了,我的博客刷的一下没了,。后来在草稿箱找到,很庆幸。

愿我们都能成为自己想成为的那种人,再也没有什么比对不起儿时的自己更令人心酸了!明天见!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。