既然决定以后从事程序员这个行业,多学点东西总是好的,于是开始学习一门新的语言,不知道会学得怎么样,试试看看吧

标识符:自己可以起名字的地方都叫标识符,都遵守标识符的规则。

标识符组成

Java标识符由数字,字母和下划线(_),美元符号($)组成。

并且必须遵守以下规则

1.Java标识符只能由数字、字母、下划线“_”或“$”符号以及Unicode字符集组成

2.Java标识符必须以字母、下划线“_”或“$”符号以及Unicode字符集开头

3.Java标识符不可以是Java关键字、保留字(const、goto)和字面量(true、false、null)

4.Java标识符区分大小写,是大小写敏感的

命名约定

Java标识符应遵守以下命名约定:

1.类和接口名。每个字的首字母大写,含有大小写 例如:

  1. MyClass,HelloWorld,Time

2.方法名。首字符小写,其余的首字母大写,含大小写。尽量少用下划线。例如:

  1. myMethod,myGetData//这种命名方法叫做驼峰式命名。

3.常量名。基本数据类型的常量名使用全部大写字母,字与字之间用下划线分隔。对象常量可大小混写。例如:

  1. SIZE_NAME,SIZE_AGE

4.变量名。可大小写混写,首字符小写,字间分隔符用字的首字母大写。不用下划线,少用美元符号。给变量命名是尽量做到见名知义。例如:

  1. nameLength,currentTime

关键字

关键字是电脑语言里事先定义的,有特别意义的标识符,有时又叫保留字,还有特别意义的变量。

Java的关键字对java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名、方法名、类名、包名。

Java中的关键字都是小写英文。

常量

常量是一种标识符,它的值在运行期间恒定不变。并且常量在程序中只能被引用,而不能被重新赋值。

常量的命名规则:

1.在JAVA中,在变量声明中加入final关键字代表常量,加入static关键字代表类变量。一般情况下,我们把staticfinal结合 起来声明一个常量.

2.尽量使用含义直观的常量来表示那些将在程序中多次出现的数字或字符串。

  1. public static final double PI = 3.1415926;

Java接口中声明一个变量,编译时会自动加上public static final的修饰符。自动声明为全局常量,因而在Java接口通常是存放常量的最佳地点。

变量

Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。

Java程序中每一个变量都属于特定的数据类型,在使用前必须对其声明,声明格式为:

  1. type varName [=value][{,varName[=value]}];
  2. int a = 10;
  3. String b = "hello";
  4. int d = 3,e,f = 5;

type 是Java 的数据类型之一。该标识符是该变量的名称。申报指定类型的多个变量,用逗号分隔的列表。

从本质上讲,变量其实是内存中的一小块内存,使用变量名来访问这块区域。

因此,每一个变量在使用前必须要先申报(声明),然后必须进行赋值(填充内容),才能使用。

局部变量与成员变量

局部变量:方法或语句块内部定义的变量叫做局部变量。

  1. public void addData(){
  2. int a = 10;//变量"a"就是局部变量,在方法的大括号之外是无法使用"a"的。
  3. }

成员变量:方法外部、类的内部定义的变量叫做成员变量。

  1. public class TestAdd{
  2. static final int B = 10;//变量"b"是成员变量,在整个类的内部都可以使用。
  3. }

成员变量又可分为:类变量和实例变量。

类变量:又叫静态变量,用static修饰,它可以直接用类名调用,也可以用对象调用,而且所有对象的同一个类变量 都是共享同一块内存空间。static final变量,必须在声明的时候初始化或者在static静态块里面初始化。

实例变量:不用static修饰, 它只能通过对象调用, 而且所有对象的同一个实例变量是共享不同的内存空间的。

注意:如果某个方法中的局部变量的名字与全局变量的名字相同, 则该全局变量在这个方法中暂时失效

变量的作用域

变量作用域是指程序中变量的名字可以被引用的部分。这样说可能比较抽象,变量的作用域通俗上可以理解为一个变量在声明后,程序中哪部分可以访问声明的变量。

变量作用域被称变量的可访问性。在Java中有多种规则:

1.在语句块中定义的变量只能在块中被访问。这种变量的作用域是声明它的块内

2.内部块中定义的变量可以访问外部块中定义的变量

3.作为方法参数定义的变量可以在方法体内部访问

4.类变量在类中的任何地方都可以访问

5.如果内部块中定义了和外部块中相同名称的变量,则内部块中的变量会覆盖掉外部块中的变量定义

举一个例子:

public class Test{int a = 10;public void getData(){int b = 5;for(int i = 0; i < b; i++){int c = 9;}}
}
变量a在Test类的内部任何地方都是可以访问的,变量b只能在方法内部可以访问,变量c只能在for循环内部起作用。

数据类型划分

数据类型可分为两种:

1:基本数据类型

  1. 1)整数型
  2. 包括:byte,short,int,long
  3. 2)浮点型
  4. 包括:float,double
  5. 3)字符型
  6. 包括:char
  7. 4)布尔型
  8. 包括:boolean

2:引用数据类型

  1. 1)类
  2. 包括:class
  3. 2)接口
  4. 包括:interface
  5. 3)数组

逻辑型

boolean类型适用于逻辑运算,一般用于程序流程控制。

boolean类型数据只允许取值truefalse,不能以0或非0的整数替代truefalse,并且一定要小写。

使用方法:

boolean b1=false;//直接赋值
boolean b2=3>4;//由条件表达式赋值
boolean b3=b1;//由另一个boolean变量赋值
boolean b4=list.ready();//由方法返回赋值,假设ready方法返回一个boolean的话

程序中boolean为布尔类型变量

实例中使用方法:

boolean flag = false;
if(!flag){
//do something
}

字符型

char类型数据用来表示通常意义上的“字符”。

字符常量为用单引号括起来的单个字符串。例如

char eChar = 'a';
char aChar = '中';

char 在java中是2个字节。java采用unicode,2个字节(16位)来表示一个字符。 而一个中文字符的Unicode就是2个字节。

注意:Java中不推荐使用char类型存储字符数据,通常使用string或者stringbuffer存储。

整数型

整数型包含四中类型:int(整型),long(长整型),short(短整型),byte(字节型)

它们都定义了一个整数,唯一区别就是它们能够表示的数据的范围。

它们都有固定的表数范围和字段长度,其不收具体操作系统的影响,以保证Java程序的可移植性。

取值范围:

类型        占用存储空间                取值范围
byte        1字节            [-2(7)~2(7)-1]   -128到127之间的任意整数
short       2字节            [-2(15)~2(15)-1] -32768~32767之间的任意整数
int         4字节            [-2(31)~2(31)-1] -231到231-1之间的任意整数
long        8字节            [-2(63)~2(63)-1] -263到263-1之间的任意整数

能够表示的范围越大,占用的内存空间就越大,因此在程序设计中,应当选择最合适的类型来定义整数。

浮点型

与整数类型类似,Java浮点类型有固定的表数范围和字段长度,不受平台影响

存储小数的变量数据类型---浮点数,这个名称是相对于定点数而言的,这个点就是小数点。小数点可以根据需要改变位置。

Java语言中有两种浮点数类型:float、double

其中float是单精度型,占用32位内存空间,而double是双精度型,占用64位内存空间。

数值包含小数点或指数,或者在数字后面带有字母F or f(float), D or d(double)

float可以精确到7位有效数字,第8位的数字是第9位数字四舍五入上取得的;

double可以精确到16位有效数字,第17位的数字是第18位数字四舍五入上取得的

double a = 3.4;
float f = 4.3f;//不加f编译出错,损失精度

转载于:https://www.cnblogs.com/zry2510/p/6182435.html

Java基础概念(一)相关推荐

  1. Java基础概念干货(字符、标识符、数据类型... ...)

    Java基础概念之字符.标识符.数据类型 一.字节 1.位(bit):是计算机内部数据存储的最小单位,11001100是一个八位二进制数. 2.字节(byte):是计算机中数据处理的基本单位,习惯上用 ...

  2. day02——Java基础概念

    此资料是根据黑马程序员Java零基础视频教程提供的笔记进行修改而成,仅用于个人学习. 学习视频:https://www.bilibili.com/video/BV17F411T7Ao/?p=17&am ...

  3. 用最简单的syso理解八个Java基础概念。

    如图,打开eclipse.随便新建Java Project,新建class 初识状态如图. main方法 syso "123" 如图 接下来,骚操作来了 选中syso这一行,右键. ...

  4. java概念,Java基础概念

    1. Java编译程序将Java源程序翻译成JVM可执行代码-Java字节码.这一过程同C/C++不同. 当C编译器翻译成一个对象代码时,该代码是为在某一特定硬件平台运行而产生的. 因此,在编译过程中 ...

  5. 黑马程序员Java零基础视频教程笔记-Java基础概念

    文章目录 一.注释 二.关键字 三.字面量 四.变量 五.数据存储 六.数据类型 七.标识符 八.键盘录入 一.注释 1. 定义 注释就是对代码进行解释说明的文字 2. 注释的分类 ① 单行注释:// ...

  6. Java基础概念——变量联系-计算公交车的人数

    练习: 有一辆公交车,它在不断地行驶,一开始车上无乘客.第一站,上去一位乘:第二站上去两位乘客,下来一位乘客:第三站,上去两位乘客,下来一位乘客:第四站下来一位乘客:第五站,上去一位乘客. 问:到了终 ...

  7. java u003_我在B站学编程 DAY-003 JAVA基础概念和语法

    八进制:0-7组成 例子: 八卦 指令在机器中以机器码格式输出,机器码一次原始输出位数是八的倍数,即以字节长度为最小单位输出. 十六进制:0-9,abcde...组成,0X开头 十六进制可以更紧凑地表 ...

  8. java基础概念整理(三)

    1.对象的上转型 对象的上转型不能调用和使用子类对象新增的成员和变量,不能调用子类新增的方法. 上转型对象可以访问子类继承或者隐藏的成员变量,也可以调用子类继承或者子类重写的实例方法.因此如果子类重写 ...

  9. Java基础概念 | 抽象类与接口

    抽象类与接口 定义 用法 定义 抽象类:包含抽象方法的类. 包含抽象方法的类必须通过abstract关键字声明为抽象类,否则编译器会报错. 抽象方法需要通过abstract关键字进行声明. 抽象类可以 ...

最新文章

  1. php ajax替换数据,如何用ajax替换php函数
  2. Java Se:自定义ClassLoader
  3. python培训比较好的机构-python哪家的培训比较好?
  4. tab 页形式展现多张报表
  5. Ubuntu 16.04更新软件提示需要安装不能信任的软件包 http://archive.ubuntukylin.com:10006/ubuntukylin xenial InRelease
  6. 实验楼项目课学习笔记-jQuery翻转拼图游戏
  7. ZooKeeper 定位:能解决什么问题?不能解决什么问题?
  8. 为数据中心度身定制智能基础设施管理系统
  9. 一万块是存入支付宝里的余额宝好还是存在微信的零钱通里好?
  10. SpringBoot-JPA删除不成功,只执行了查询语句
  11. jvm内存参数配置_JVM内存结构和Java内存模型
  12. STM32F103系列(二):如何使用串口下载程序
  13. VMware Workstation 14中文破解版下载(附密钥)(笔记)
  14. linux中qt浏览器崩溃解决,解决Firefox火狐浏览器总是崩溃问题
  15. 一些手机APP默认的文件保存位置
  16. UVa 10608 - Friends(并查集)
  17. javaweb的问卷调查系统
  18. 现代计算机体系结构发明人,cpu的发明人是谁啊?
  19. ThinkPHP在线小说阅读管理系统
  20. java实现excel多级联动

热门文章

  1. c#中嵌入echarts_利用c#+jquery+echarts生成统计报表(附源代码)
  2. android 添加附件功能,Android实现带附件的邮件发送功能
  3. access数据类型百度百科_Access数据库属于什么数据库。
  4. IC基础知识(4)电源管理简介:稳压器IC
  5. 【 MATLAB 】向量化编程实践(一)
  6. 【 C 】队列的链式存储实现
  7. 同步电路设计的一些问题(时序分析基础,同步电路设计规则)
  8. Guass消去法求解线性方程组
  9. MaxCompute助力北斗大数据,千寻位置3秒实现厘米级定位
  10. Linux学习笔记-软件安装管理