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.12
12.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表中的顺序位置为:64
unicode表中第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的值为: 12345
int型变量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;  //定义成员变量times
	public 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的值为:19
b的值为: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结果为:2
d2结果为: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的返回值为:false
b1<b2的返回值为:true
b1==b2的返回值为:false
b1!=b2的返回值为:true
b1>=b2的返回值为:false
b1<=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);
	}
}
控制台的输出结果:
false
true
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;
else
a=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);
	}
}
控制台的输出:
50
50.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.3
byte型和int型数据进行运算的结果为:2
byte型和char型数据进行运算的结果为:0
double型和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的值为:45
b的值为:456
c的值为:100
代码注释与编码规范

/**/      多行注释

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


小总结:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值