Java笔记整理一(java环境配置,命名规则,常量,变量,数据类型转换,运算符,方法,流程控制)

一、首次使用java


1.Java环境安装

  1. 安装jdk
  2. 安装jre
  3. 配置环境变量
    • JAVA_HOME 即安装目录 c:\Java\jdk
    • Path 即JDK的bin目录%JAVA_HOME%\bin;

2.Java 入门程序

helloworld程序

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World!");
}
}

2.1 Java代码注释

  • Java中有单行注释和多行注释
  • 单行注释以 //开头 换行结束
  • 多行注释以 /* 开头 以*/结束

2.2关键字:是指在程序中,Java已经定义好的单词,具有特殊含义。

2.3标识符:是指在程序中,我们自己定义内容。比如类的名字、方法的名字和变量的名字等等,都是标识符。

  • 命名规则: 硬性要求
    • 标识符可以包含 英文字母26个(区分大小写) 、 0-9数字 、 $(美元符号) 和 _(下划线) 。
    • 标识符不能以数字开头。
    • 标识符不能是关键字。
  • 命名规范: 软性建议
    • 类名规范: 首字母大写,后面每个单词首字母大写(大驼峰式)。
    • 方法名规范: 首字母小写,后面每个单词首字母大写(小驼峰式)。
    • 变量名规范:全部小写。

3.常量

常量:是指在Java程序中固定不变的数据

3.1分类

类型含义数据举例
整数常量所有的整数0,1, 567, -9
小数常量所有的小数0.0, -0.1, 2.55
字符常量单引号引起来,只能写一个字符,必须有内容‘a’ , ’ ', ‘好’
字符串常量双引号引起来,可以写多个字符,也可以不写“A” ,“Hello” ,“你好” ,""
布尔常量只有两个值true , false
空常量只有一个值null

4.变量

程序中可以变化的量称为变量。

4.1 分类

  • Java的数据类型分为两大类:
    • 基本数据类型:包括 整数 、 浮点数 、 字符 、 布尔 。
    • 引用数据类型:包括 类 、 数组 、 接口 。
数据类型关键字内存占用取值范围
字节型byte1个字节-128~127
短整型short2个字节-32768~32767
整型int(默认)4个字节-231次方~2的31次方-1
长整型long8个字节-2的63次方~2的63次方-1
单精度浮点数float4个字节1.4013E-45~3.4028E+38
双精度浮点数double(默认) 8个字节4.9E-324~1.7977E+308
字符型char2个字节0-65535
布尔类型boolean1个字节true,false

Java中的默认类型:整数类型是 int 、浮点类型是 double 。

4.2 变量的定义

数据类型 变量名 = 数据值;

public class Variable {
public static void main(String[] args){
//定义字节型变量
byte b = 100;
System.out.println(b);
//定义短整型变量
short s = 1000;
System.out.println(s);
//定义整型变量
int i = 123456;
System.out.println(i);
//定义长整型变量
long l = 12345678900L;
System.out.println(l);
//定义单精度浮点型变量
float f = 5.5F;
System.out.println(f);
//定义双精度浮点型变量
double d = 8.5;
System.out.println(d);
//定义布尔型变量
boolean bool = false;
System.out.println(bool);
//定义字符型变量
char c = 'A';
System.out.println(c);
}
}

long类型:建议数据后加L表示。
float类型:建议数据后加F表示

- 变量名称:在同一个大括号范围内,变量的名字不可以相同。
- 变量赋值:定义的变量,不赋值不能使用。


5.数据类型转换

自动转换是Java自动执行的,而强制转换需要我们自己手动执行。

  • 自动转换:将 取值范围小的类型 自动提升为 取值范围大的类型

    • 转换规则:
      • 范围小的类型向范围大的类型提升, byte、short、char 运算时直接提升为 int 。
  • 强制转换 :将 取值范围大的类型 强制转换成 取值范围小的类型

数据类型 变量名 = (数据类型)被转数据值;

  • 浮点转成整数,直接取消小数点,可能造成数据损失精度。
  • int 强制转成 short 砍掉2个字节,可能造成数据丢失。
public static void main(String[] args) {
//short类型变量,内存中2个字节
short s = 1;
/*
出现编译失败
s和1做运算的时候,1是int类型,s会被提升为int类型
s+1后的结果是int类型,将结果在赋值会short类型时发生错误
short内存2个字节,int类型4个字节
必须将int强制转成short才能完成赋值
*/
s = s + 1//编译失败
s = (short)(s+1);//编译成功
}

6.运算符

6.1算数运算符

算数运算符包括:
+加法运算,字符串连接运算
-减法运算
*乘法运算
/除法运算
%取模运算,两个数字相除取余数
++ 、 –自增自减运算

i++:表示先运算,后加1
++i:表示先加1,再运算

  • 符号在字符串中的操作:
  • 符号在遇到字符串的时候,表示连接、拼接的含义。 “a”+"b"的结果是“ab”,连接含义

6.2 赋值运算符

赋值运算符,就是将符号右边的值,赋给左边的变量。

赋值运算符包括:
=等于号
+=加等于
-=减等于
*=乘等于
/=除等于
%=取模等

6.3 比较运算符

比较运算符,是两个数据之间进行比较的运算,运算结果都是布尔值 true 或者 false 。

比较运算符包括:
==比较符号两边数据是否相等,相等结果是true。
<比较符号左边的数据是否小于右边的数据,如果小于结果是true。
>比较符号左边的数据是否大于右边的数据,如果大于结果是true。
<=比较符号左边的数据是否小于或者等于右边的数据,如果小于结果是true。
>=比较符号左边的数据是否大于或者等于右边的数据,如果小于结果是true。
!=不等于符号 ,如果符号两边的数据不相等,结果是true。

6.4 逻辑运算符

逻辑运算符,是用来连接两个布尔类型结果的运算符,运算结果都是布尔值 true 或者 false

逻辑运算符包括:
&& 短路与1. 两边都是true,结果是true2. 一边是false,结果是false 短路特点:符号左边是false,右边不再运算
||短路或1. 两边都是false,结果是false2. 一边是true,结果是true
取反1. ! true 结果是false2. ! false结果是true

6.5三元运算符

数据类型 变量名 = 布尔类型表达式?结果1:结果2

三元运算符计算方式:

  • 布尔类型表达式结果是true,三元运算符整体结果为结果1,赋值给变量。
  • 布尔类型表达式结果是false,三元运算符整体结果为结果2,赋值给变量。

7.方法

方法:就是将一个功能抽取出来,把代码单独定义在一个大括号内,形成一个单独的功能

7.1 方法定义

方法:就是将一个功能抽取出来,把代码单独定义在一个大括号内,形成一个单独的功能。
定义格式:

修饰符 返回值类型 方法名 (参数列表){
代码...
return ;
  • 修饰符:
    1. 访问控制修饰符

       公共访问控制符public、
       保护访问控制符protected、
       缺省默认访问控制符、
       私有访问控制符private
    
  1. 非访问控制修饰符

    抽象方法控制符abstract 、
    静态方法控制符static 、
    最终方法控制符final 、
    本地方法控制符native 、
    同步方法控制符synchronized
    
  • 返回值类型:
  • 方法名:
  • 参数列表:
  • return:
  • 方法定义注意事项:
    • 方法必须定义在一类中方法外
    • 方法不能定义在另一个方法的里面

8.1流程控制

  1. if–else判断
if(关系表达式){
语句体;//或者
if(关系表达式) {
语句体1;
}else {
语句体2;
}

  1. switch
switch(表达式) {
case 常量值1:
语句体1;
break;
case 常量值2:
语句体2;
break;
...
default:
语句体n+1;
break;
}

  • 执行流程
    • 首先计算出表达式的值
    • 其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就结束。
    • 最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。

在switch语句中,如果case的后面不写break,将出现穿透现象,也就是不会在判断下一个case的值,直接向后运行,直到遇到break,或者整体switch结束。

3.for

for(初始化表达式①; 布尔表达式②; 步进表达式④){
循环体③
}

4.while

初始化表达式①
while(布尔表达式②){
循环体③
步进表达式④
}

5.do。。while

初始化表达式①
do{
循环体③
步进表达式④
}while(布尔表达式②);

for 和 while 的小区别:

  • 控制条件语句所控制的那个变量,在for循环结束后,就不能再被访问到了,而while循环结束还可以继续使用,如果你想继续使用,就用while,否则推荐使用for。原因是for循环结束,该变量就从内存中消 失,能够提高内存的使用效率。
  • 在已知循环次数的时候使用推荐使用for,循环次数未知的时推荐使用while。
  • break:

    • 使用场景:终止switch或者循环
  • continue使用场景:

    • 结束本次循环,继续下一次的循环

6.嵌套循环,死循环

//while(true){}。

for(初始化表达式①; 循环条件②; 步进表达式⑦) {
for(初始化表达式③; 循环条件④; 步进表达式⑥) {
执行语句⑤;
}
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值