IDE介绍
IDE(Integered development environment):所有开发工具的总称。集成开发环境,是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。
常用Java开发工具:
- eclipse
- IntelliJ IDEA
注释
对程序功能的说明,以某种特定符号作为标记,程序在运行过程中不会执行注释。
注释附加作用:调试代码
Java语言注释:
-
单行注释:// 对某一行代码进行说明
快捷键:Ctrl+/ 注释、取消注释
-
多行注释:/* */ 注释多行代码
快捷键:Ctrl+Shift+/ 注释、取消注释
-
文档注释:/** */ 对于类、属性、方法进行注释,调用时可以看到注释信息。
快捷键:/** 回车
关键字
定义:被java语言赋予了特殊含义,用做专门用途的字符串(单词)。主要用来修饰包、类、变量、属性和方法。
特点:关键词中所有字母为小写
用于定义数据类型的关键字:
class,int,boolean,interface,enum,byte,short,long,float,double,char,void
用于定义数据类型值的关键字:
true,false,null
用于定义流程控制的关键字:
if,else,switch,case,default,while,do,for,break,continue,return
用于定义访问权限修饰符的关键字:
private,protect,public
用于定义类、函数、变量修饰符的关键字:
abstract,final,static,synchronize
用于定义类与类之间关系的关键字:
extends,implements
用于定义建立实例,判断实例的关键字:
new,this,super,instanceof
用于异常处理的关键字:
try,catch,finally,throw,throws
用于包的关键字:
package,import
其他修饰符关键字:
native,strictfp,transient,volatile,assert
保留字
java现有版本尚未使用的关键字,后期可能会用。
自己命名标记符时要避免使用这些关键字。 eg. goto,const
标识符
概念:Java对各种变量、方法、包和类等要素命名时使用的字符序列成为标识符,即我们可以自己命名的名称。
命名规范:
-
语法强制
可以使用的内容:大小写字母、数字、下划线、$。(注:数字不能开头)
不能是关键字,不能有空格,区分大小写,长度不限制
-
约定俗成
见名知意:eg. int age =10;
驼峰表示:userName(Java) user_name(不区分大小写的语言)
类名,方法名,变量名首字母大写:为了和变量、方法区分
包名:所有单词小写。 eg. huawei baidu
类名:所有单词首字母大写。
方法、变量:驼峰表示。多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写。userName playGame(){}
常量:所有单词大写,驼峰失效 USER_NAME
Java变量
变量是程序中最基础的存储单元,程序执行中数值是可变的。
本质上,变量其实是内存中的一小块区域。
使用:每一个变量使用前必须先申请(声明),然后必须进行赋值(填充内容),才能使用。
声明语法:(Java是强类型语言)
- [修饰符] 数据类型 变量名 = 值;
Java数据类型
程序中对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间。
数据类型:可以指导程序中的数据如何存储,如何计算。
按数据类型分类:
-
基本数据类型:数值型:
整数类型:byte 1 ,short 2 ,int 4 ,long 8
浮点类型:float 4 ,double 8
字符型:char
布尔型:boolean
(除了以上八种基本类型,都是引用类型)
-
引用数据类型:
类(class):String
接口(interface)
数组([])
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7FxaUKe9-1642587334929)(D:\非凡英才\1Java\2021-10-16_java第二章基础语法1\课件\数据类型.png)]
Java基本数据类型
-
整数
byte b =127; short s =32767; int i = 100000000; long l = 11111111111L; int x = 011; //0八进制 System.out.println(x); int y = 0x11; //0x十六进制 System.out.println(y); int z = 0b11; //0b二进制 System.out.println(z); float f = 100.52222222222222222f; //默认double,需加f 4字节 单精度 System.out.println(f); double d = 1000.5222222222222222; //8字节 双精度 System.out.println(d);
-
逻辑型Boolean
值只能是true或者false
-
字符型char
/* char 表示一个字符 */ char c = 'a'; char b = '中'; //在程序中如何表示一个字符 //编码表 a--97--二进制 //char可以参与算数运算 System.out.println(c+0); //97 System.out.println(c+b); //20110 System.out.println(c>b); //false /* ASCII 最早发明 只能表示英文字符 GBK Unicode 只是用来存储不同国家的文字信息 万国码 不会产生乱码 实际落地使用utf-8编码来实现 utf-8根据内容大小 自动调节占用的大小 1英文字符占1字节 汉字占3个字节 */
基本数据类型转换
除了boolean 类型以外,其他7种数据类型可以相互转换。
byte、short、char —> int —> long —> float —> double
byte、short、char之间不会相互转换,他们三者在计算时首先会转换为int类型 强制转换
转换类型:
-
默认转换(隐式转换)
由容量小的类型转换为容量大的类型。
byte b = 10; int c = b; long l = c; float f = l; //float 4和long 8 float大,由于底层二进制计算方式不同
-
强制类型转换
容量大的类型转为容量小的类型。
int x = 258; //4个字节 byte y = (byte) x; //1个字节 2 数据可能会溢出 System.out.println(y); float z = 10.5f; int ff = (int)z; System.out.println(ff); //10 精度降低
带来的问题:1. 数据位溢出 2. 精度降低
在混合运算中,小类型会默认自动上升为大类型
int n = (int) (10*3.5 + z);
运算符
Java 语言支持如下运算符:
-
算术运算符: +,-,*,/,%,++,–
-
+加法运算 数值+数值 数值+字符
-
+连接 字符串+字符串 字符串+数值
-
-,*,/,%,++,-- 算数运算
++,-- :单独的++、-- ++x,x++是没有区别的
在混合运算中,++在前,先自增后运算 ++在后,先运算后自增
x++; // x=x+1 ++x; // x=x+1
int y = x++ +1; //x先进行运算,后自增 System.out.println(x);//6 System.out.println(y); //6 int y = ++x +1; //x先自增,后运算 ,再赋值 System.out.println(x)
-