Java入门2

目录

前言

一.注释

1.特点

2.分类

1)普通注释

2)特殊注释

二.关键字

1.举例

2.特点

3.特殊标记

三.标识符

1.标识符的组成规则

2.标识符的注意事项

3.给类/接口起名字

1)单个单词

2)多个单词

4.给变量/方法起名字

1)单个单词

2)多个单词

5.给常量起名字

1)单个单词

2)多个单词

四.变量

1.定义变量的三要素:

2.定义变量的格式

1)格式1

2)格式2

3.数据类型的划分

1)基本数据类型

2)引用数据类型(面向对象会讲)

4.数据类型转换

1)隐式类型转换(默认类型提升)

2)显式类型转换(强制类型转换)


前言

        学习Java的第二天,理论知识偏多,需要牢记的不少,但还是觉得比较有乐趣,目前还是小白,写博客只是为了总结今天学习的知识,写的不对或者不严谨的地方,希望多多包涵指正.

一.注释

解释说明代码的文字

1.特点

1)提高代码阅读性

2)排错

因此,通常在写代码的时候,要养成写注释的习惯

2.分类

1)普通注释

不能够被解析

a.单行注释

//这是单行注释

b.多行注释

/*
    这是
        多行注释
*/

2)特殊注释

能够被解析的

/**
    这个类是Java的入门,HelloWorld
	@author  xxx
	@version  V1.0

*/

二.关键字

在Java语言中,被赋予特点含义的单词就是关键字

1.举例

class :标记需要定义一个类

public:权限修饰符(公共的,公开的),访问权限足够大

static:静态修饰符

void:Java语言中定义方法的一种格式

关键字较多,学到哪个记到哪个就可以

注意:const和goto作为保留字

class :标记需要定义一个类

public:权限修饰符(公共的,公开的),访问权限足够大

static:静态修饰符

void:Java语言中定义方法的一种格式

关键字较多,学到哪个记到哪个就可以

注意:const和goto作为保留字

2.特点

在Java语言中,组成关键字的字母都是小写的

3.特殊标记

高级记事本notepad++,IDEA等针对关键字有颜色标记

class KeyWord{
	//main方法,是程序的入口,能够jvm识别并执行main方法,代码从上而下依次加载
	public static void main(String[] args){
		//输出语句
		System.out.println("Java中的关键字组成字母都是小写") ;
		
	}
}

三.标识符

给类,变量,接口,方法,以及常量等起名字的字符序列

1.标识符的组成规则

        1)英文的26个字母(大小写)

        2)可以是数字

        3)可以美元符号 $

        4)可以是下划线 _

2.标识符的注意事项

        1)数字不能开头

        2)Java严格区分大小写

        3)不能有其他符号出现如:#,空格等

        4)起名字不能是java中 的关键字

3.给类/接口起名字

1)单个单词

首字母大写,其余小写

举例:

//学生类
class Student{
//单个单词:首字母大写,其余小写
}  

2)多个单词

大驼峰命名法:每个单词的首字母大写,其余小写

举例:

//HelloWorld类
class HelloWorld{
//多个单词:大驼峰命名法:每个单词的首字母大写,其余小写
}

4.给变量/方法起名字

1)单个单词

字母全部小写 

//单个单词字母全部小写 
//举例					
	int price = 199 ; //商品价格   int类型:整数默认

2)多个单词

小驼峰命名法:第一个单词字母全部小写,从第二个单词开始,每个单词首字母大写,其余小写

/*多个单词
小驼峰命名法:第一个单词字母全部小写,从第二个单词开始,每个单词首字母大写,其余小写
*/
//举例
	//定义一个字符串变量
	String userName = "admin" ;
    //方法							
	checkUserName()

5.给常量起名字

1)单个单词

字母全部大写

//单个单词:字母全部大写
//举例:
		HELLO=100;

2)多个单词

每个单词字母全部大写,单词和单词之间使用下划线_隔开 

//多个单词:每个单词字母全部大写,单词和单词之间使用下划线_隔开
//举例自定义:
				HELLO_WORLD =100;					
				PUBLIC_TALK = 200;//公聊
				PRIVATE_TALK = 300 ; //私聊  

四.变量

在程序执行过程中,其值不断发生改变的量,称为变量

1.定义变量的三要素:

        1)数据类型

        2)变量名

        满足标识符的规则

        3)初始化值

2.定义变量的格式

1)格式1

数据类型 变量名 = 初始化值;

//数据类型 变量名 = 初始化值;
int a = 10;//将10赋值int类型的变量a

2)格式2

数据类型 变量名;

变量名 = 初始化值;

/*数据类型 变量名;

变量名 = 初始化值;
*/
int a ;//定义int类型的变量a
a = 10;//将10赋值给a

3.数据类型的划分

1)基本数据类型

        整数类型

                        byte:字节类型                 占1个字节  (1k=8bit)     范围:-128-127(必须记住)

//byte字节类型
    byte b = 100 ;
    b = 120 ;//重新赋值 
	System.out.println("b="+b) ;

                        short:短整型                    占2个字节

//short短整型
	short s  = 150 ;
	s = 100 ;
	System.out.println("s="+s) ;

                        int:整数默认类型             占4个字节(使用最多) 

//以后需求没有明确数据类型,都默认使用int
	int i = 1000 ;
	i = 10000 ;
	System.out.println("i="+i) ;

                        long:长整型类型              占8个字节   

    int i = 10000000000000;//DataTypeDemo.java:82: 错误: 过大的整数: 10000000000000
    System.out.println("i="+i) ;
    //当这个数据的值已经超过了int类型的最大值,那么报错,此时需要使用long 长整型
//long类型的值后面加入L或者l
	long l = 10000000000000L;
	System.out.println("l="+l) ;

         浮点类型

                     float:单精度

//浮点类型默认是double,jvm在编译的时候,认为12.56就是一个double类型值,但是此时变量类型float
//Java语法规定:在定义float类型的值的后面加上F或者f进行标记,它是一个单精度
    //float f = 12.56 ;//不兼容的类型: 从double转换到float可能会有损失
	  float f = 12.56F;
	  System.out.println("f="+f) ;

                   double:双精度

//double类型(浮点类型默认)
//本身就定义double类型
	double d = 3.14 ;
	d = 13.42 ;
	System.out.println("d="+d) ;

        字符类型

                char:字符类型

    char ch = 'A' ;
	//char ch2 = 'abc' ;//错误的写法
	System.out.println("ch="+ch) ;
	ch ='a' ;
	System.out.println("ch="+ch) ;
	ch ='0' ;
	System.out.println("ch="+ch) ;
	ch = '国' ;
	System.out.println("ch="+ch) ;

        布尔类型

                boolean:布尔类型

    //boolean类型
    boolean bool = true ;
	bool = false ;
	System.out.println("bool="+bool) ;

2)引用数据类型(面向对象会讲)

4.数据类型转换

1)隐式类型转换(默认类型提升)

//1)隐式类型转换(默认类型提升)
//boolean不会参与运算

/*byte,short,char三者之间不会相互转换
但是一旦参与运算,优先提升int(考点),long,float,double....*/

boolean不会参与运算

byte,short,char三者之间不会相互转换,但是一旦参与运算,优先提升int(考点),long,float,double....

需求:
            int类型变量a,初始化3 ;
            byte类型变量b,初始化值4 ;
            这两个变量相加,结果是多少?

int类型接收

/*
    注意事项:变量运算,要考虑数据类型!
			byte,short,char三者之间不会相互转换,但是一旦参与运算,优先提升int(考点)
*/
class DataTypeDemo{
	public static void main(String[] args){
			//int类型变量a,初始化3 ;
			//byte类型变量b,初始化值4 ;
			int a = 3 ; 
			byte b = 4 ;
			//定义一个结果变量,int类型接收最终的值
			int result = a + b ;  //将b这个类型---->int类型的4
			System.out.println("result:"+result) ;
 		
	}
}

运算过程

int类型4个字节,4个字节是32bit
int a = 3------>二进制00000000 00000000 00000000 00000011

byte类型1个字节,8个bit位
byte b = 4----->二进制00000100
byte,short,char三者之间不会相互转换,但是一旦参与运算,优先提升int
整数的原码,反码,补码是相同的

              最高符号位                  数值位
补码   0        0000000 00000000 00000000 00000011

补码   0        0000000 00000000 00000000 00000100
       +
----------------------------------------------------- 
补码   0        0000000 00000000 00000000 00000111
反码   0        0000000 00000000 00000000 00000111
原码   0        0000000 00000000 00000000 00000111
       =        7
 

2)显式类型转换(强制类型转换)

大数据类型---->小数据类型,因为可能会损失精度!有的时候,必须使用强转!

格式

目标数据类型 变量名 = (目标数据类型)(初始化值) 

需求:
            int类型变量a,初始化3 ;
            byte类型变量b,初始化值4 ;
            这两个变量相加,结果是多少?

byte类型接收

/*
    注意事项:变量运算,要考虑数据类型!
			byte,short,char三者之间不会相互转换,但是一旦参与运算,优先提升int(考点)
*/
class DataTypeDemo{
	public static void main(String[] args){
			//int类型变量a,初始化3 ;
			//byte类型变量b,初始化值4 ;
			int a = 3 ; 
			byte b = 4 ;
			//定义一个结果变量,byte类型接收最终的值
			byte result = a + b ;  //将b这个类型---->int类型的4
			System.out.println("result:"+result) ;
 		
	}
}
/*
    运行结果:
            不兼容的类型: 从int转换到byte可能会有损失    
			
			=右边:byte类型b先提升为int类型,和int类型的a进行计算----结果int类型 4个字节
			=左边:byte类型接收,1个字节
*/

这时,需要进行强制转换

class DataTypeDemo{
	public static void main(String[] args){
			//int类型变量a,初始化3 ;
			int a  = 3 ;
			//byte类型变量b,初始化值4 ;
			byte b = 4 ;

			//套格式
			//目标数据类型 变量名 = (目标数据类型)(初始化值) ;
			byte result = (byte)(a+b) ; 
			System.out.println("result:"+result) ;
	}
}

运算过程

int类型4个字节,4个字节是32bit
int a = 3------>二进制00000000 00000000 00000000 00000011

byte类型1个字节,8个bit位
byte b = 4----->二进制00000100
byte,short,char三者之间不会相互转换,但是一旦参与运算,优先提升int
整数的原码,反码,补码是相同的

              最高符号位                  数值位
补码   0        0000000 00000000 00000000 00000011

补码   0        0000000 00000000 00000000 00000100
       +
----------------------------------------------------- 
补码   0        0000000 00000000 00000000 00000111
反码   0        0000000 00000000 00000000 00000111
原码   0        0000000 00000000 00000000 00000111

由于运用了强制转换  byte result = (byte)(a+b) ; 
因此将前面三个字节截取
    (00000000 00000000 00000000) 00000111
留下一个字节--->00000111
              =7-------byte类型的7

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值