Java基础程序设计

在这里插入图片描述
Java基础程序设计由于篇幅过长,分为了四篇文章

下面为其他文章的地址:
第二篇:运算符
第二篇:流程控制
第三篇:数组

1.注释

单行注释: //注释内容
	用于描述属性或方法内具体功能解释
多行注释:/*注释内容*/
	用于描述方法的大致效果功能,以及使用的参数变量
说明注释:/**注释内容*/
	用于说明项目的版本,作者,公司,项目名、项目描述等一系列信息

代码示例:

/**
* <p>Title: Person</p>   
* @author 111 
* @date 2019年8月10日下午12:27:41
* version 1.0
* 描述:
*/
class Person{
	//姓名
	String name;
	//年龄
	int age;
	/*
	 * 描述人类的方法
	 */
	public void show(){
		System.out.println("人类是智慧生物");
	}
}

2.关键字

定义:被Java语言赋予了特殊含义,用作专门用途的字符串
特点:关键字中所有字母都为小写

关键字表

用于定义数据类型的关键字
classinterfaceenumbyteshort
intlongfloatdoublechar
booleanvoid
用于定义流程控制的关键字
ifelseswitchcasedefault
whiledoforbreakcontinue
return
用于定义访问权限修饰符的关键字
privateprotectedpublic
用于定义类,函数,变量修饰符的关键字
abstractfinalstaticsynchronized
用于定义类与类之间关系的关键字
extendsimplements
用于定义实例及引用实例,判断实例的关键字
newthissuperinstanceof
用于异常处理的关键字
trycatchfinallythrowthrows
用于包的关键字
packageimport
其他修饰符关键字
nativestrictfptransientvolatileassert
用于定义数据类型值的字面值不是关键字,但是可以看作是关键字
truefalsenull

3.保留字

保留用作以后可能会使用作为关键字的单词:goto\const

4.标识符

标识符就是名称,就是每次定义的类、方法、变量的名称,有一定的规则限制
标识符的组成元素:
	26个英文字母大小写
	数字0-9
	符号_和$
标识符规则:
	数字不能作为命名开头
	不可以使用关键字或保留字进行命名
	严格区分大小写达到见名之意
	Java中严格区分大小写,长度无限制
	标识符不能含有空格
标识符命名规范:
	包名:多单词组成时所有字母都小写
	类名、接口名:多单词组成时,所有单词的首字母大写
	变量名、方法名:多单词组成时,第一个单词的首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz
	常量名:所有字母都大写,多单词时每个单词用下划线连接

5.修饰符

修饰符分类:
访问修饰符:default,public,protected,private
非访问权限修饰符:static,final,abstract、volatile和Synchronized
修饰符的作用:
用于修饰类、方法或变量,通常放在语句最前端

示例:

public class className{
	private int age;
	public static final int num=10;
	public static void main(String[] args){
		System.out.println("方法体");
	}
}
访问权限修饰符:
对类、方法、构造方法和变量进行保护,设置的权限
default(默认的):在同一包中可见,不写访问权限修饰符默认为这个修饰符,接口除外
private(私有的):在同一类中可见,类和接口不能被private修饰,private主要用于隐藏类的实现细节和保护数据,只能由访问器访问
public(公共的):对所有类可见,在不同的包中则需要导包
protected(受保护的):对同一包内的类和所有子类可见,不能修饰类和接口,接口的成员变量和成员方法不能被声明为protected
子类的访问权限必须大于父类访问权限

非访问权限修饰符:
static和final已经说过了,我就不再赘述,稍微提一下吧
static修饰符,用来创建类方法和类变量
final修饰符,用来修饰类,方法和变量
abstract修饰符,用来创建抽象类和抽象方法,被abstract修饰的类不能被实例化,抽象类中的方法可以是抽象方法也可以是非抽象方法,抽象方法没有方法体,需要被继承的子类重写
Synchronized和volatile修饰符,主要用于多线程,Synchronized声明方法只能在同一时间被一个线程访问,volatile修饰成员变量,用于多个线程访问该变量都是同一个值

6.变量

变量是内存中装载数据的小盒子,只能用它来存放和取数据
分类:
	* 局部变量:定义在方法中
	* 类变量(静态变量):由static修饰的成员变量
	* 成员变量(非静态变量):定义在类中方法外的变量
变量的使用
	1. 定义:数据类型 变量名=变量值
	2. 说明:
		① 变量必须先声明后使用
		② 变量都定义在其作用域范围内,在作用域内有效
		③ 同一个作用域内,不可以声明两个同名的变量

存储单元

1. bit(位):存储设备的最小信息单元
2. byte(字节):存储单元的最小单位,也称为B
1B=8bit
1KB=1024B
1MB=1024KB
1GB=1024MB
1TB=1024GB

数据类型

  • 基本数据类型:

    • 整型

      整型分类数据范围字节数默认值
      byte-128~1271(1符号位+7尾数)0
      short-32768~327672(1符号位+15尾数)0
      int-2147483648~21474836474(1符号位+31尾数)0
      long-263~263-18(1符号位+63尾数)0
    • 浮点型

      浮点型分类数据范围字节数默认值
      float(单精度)-3.403* 1038~3.403* 10384(1符号位+8指数位+23尾数)0.0
      double(双精度)-1.798* 10308~1.798* 103088(1符号位+11指数位+52尾数)0.0
    • 字符型

      字符型分类数据范围字节数默认值
      char\u0000~\uffff2‘\u0000’
      布尔型分类数据范围字节数默认值
      booleanfalse\true1false

    通过二进制编码解释,为什么整型都是从-n-1~n,因为编码中0和-0是两个值,而Java中将-0作为了-n-1

知识扩展

原码:数字的二进制编码,最高位为符号位,0表示整数,1表示负数
反码:正数的反码是本身,负数的反码是除符号位以外,其他位依次取反
补码:正数的补码是本身,负数的补码是反码的末位+1

举个栗子:

127-128
原码:0111 1111原码:1000 0000
反码:0111 1111反码:0111 1111
补码:0111 1111补码:1000 0000
  • 引用数据类型:

    • 类(class)

    • 接口(interface)

    • 数组(array)

类型转换

见VariableTest1.java
自动类型转换
 * 大范围的数据类型 变量=小字节数据类型值
 * byte\char\short-->int-->long-->float->double
 * 当byte、char、short三种类型的变量做运算时,结果为int
强制类型转换
 * 范围小的数据类型  变量 = (范围小的数据类型) 范围大的数据类型值;

类型转换中常见的byte->int问题

7.常量

概念:不可变的数据量,常量又叫字面值常量

常量分类:
	* 整型常量
		整型常量在内存中默认占32位,如果超出长度则需要类型转换成long类型,在内存中占64位
		长整型在数字后加L或小写l即可
	* 实型常量
		实型常量默认在内存中占64位,是默认double类型的值,在数据取值范围许可的情况下尽量转换成单精度float,在内存中占32位,单精度在数字后面加f或F即可
	* 布尔型常量
		布尔型常量只有true或false
	* 字符型常量
		使用''引起来的单个字符叫字符常量(''只允许引一个字符,转义字符例外),单引号不可与双引号混用,如'e','E'等
	''可以写转义字符,如'\n'
	* 字符串型常量
		其实理论上来说,字符串都是常量,因为String类是final修饰的,这个以后再说
	使用" "引起来的字符叫字符串常量,也可以写转义字符"\n"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Carl·杰尼龟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值