Java语言基础详细版笔记理论

前言

java语言基础笔记


一、java 语言基础

1.1 java主类结构

  • java程序基本组成单元是类,类体中包括属性和方法两部分。
  • 每个应用程序都必须包含一个main()方法,含有main方法的类称为主类。
package number;
public class First{
static String s1 = "你好"; 
public static void main(String[] args){ //main 方法调用
String s2 = "java";
System.out.println(s1);
System.out.println(s2);
}
}

1.1.1 整数类型

整数类型用来存储整数数值,没有效数部分的数值。可以正数,可以负数。
①十进制:除了数字0,不能以0作为其他十进制的开头
②八进制:必须以0开头
③十六进制:必须以0x或0X开头
二进制转十进制:
小数点前或者整数要从右到左用二进制的每个数去乘以2的相应次方并递增,
小数点后则是从左往右乘以二的相应负次方并递减。
例如:二进制数1101.01转化成十进制
1101.01(2)=120+021+122+123 +02-1+12-2
=1+0+4+8+0+0.25=13.25(10)

十进制转二进制:
用2整除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为小于1时为止,
然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。
255=(11111111)B
255/2=127=余1
127/2=63
余1
63/2=31
=余1
31/2=15
=余1
15/2=7
余1
7/2=3
=余1
3/2=1
=余1
1/2=0
===余1

0.625=(0.101)B
0.6252=1.25取出整数部分1
0.25*2=0.5
取出整数部分0
0.5
2=1========取出整数部分1

十进制转八进制
①整数部分方法:除8取余法,即每次将整数部分除以8,余数为该位权上的数,而商继续除以8,余数又为上一个位权上的数,
这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数起,一直到最前面的一个余数。

②小数部分方法:乘8取整法,即将小数部分乘以8,然后取整数部分,剩下的小数部分继续乘以8,
然后取整数部分,剩下的小数部分又乘以8,一直取到小数部分为零为止。

整数的数据类型 :
数据类型 内存空间 取值范围
byte 8位(1字节) -128~127
short 16位(2字节) -32768~32767
int 32位(4字节) -2147483648~2147483647
long 64位(8字节)

注意:如果赋值大于int型最大值或小于最小值,则需在数字后加L或l,表示位长整型

public class number{
public static void main(String[] args){
byte byte1 = 124;
short short1 = 32546;
int int1 = 4564564;
long long1 = 456456481;
long result = byte1 + short1 +int1;
System.out.println("结果为"+result);
}
}

1.1.2浮点类型
数据类型 内存空间
float 32位
double 64位
注意:①默认情况下,小数作为double
②使用float类型,需要小数后面加上F或f

float f1 = 12.23f;
double d1 = 4562.21d;
double d2 = 4562.21;

1.1.3字符型

  • char型
    字符型(char)用于储存单个字符,占用16位(2个字节)。
    定义字符变量时,要用单引号表示。
public class test {
    public static void main(String[] args){
        char word = 'd';
        char word2='@';
        int p = 23045;
        int p2 = 455454;
        System.out.println("d在unicode表中顺序为"+(int)word);
        System.out.println("@在unicode表中顺序为"+(int)word2);
        System.out.println("23045在unicode表中顺序为"+(int)p);
        System.out.println("455454在unicode表中顺序为"+(int)p2);
    }
}

运行结果
在这里插入图片描述

转义字符
\n 换行
\r 回车
\b 退格
\f 换页
\’ 单引号字符
\ 反斜杠字符

1.1.4 布尔类型(boolean)

  • 只有true and false 两种类型

1.2 标识符
①标识符:用来标识类名、变量名、方法名、数组名、文件名的有效字符 序列。
规定:标识符由任意顺序字母,下划线,美元符号$ 和数字组成,第一个字符不能为数字

1.2.1 声明变量
规则:①变量名必须是要有效标识符。
②变量名不能使用java关键字
③变量名不能重复
④选择有意义的单词作为变量名

1.2.2 声明常量

  • 程序运行过程中一直不会改变的量叫常量,也被称为final变量。

  • 常量名通常使用大写字母,但不是必须

  • 定义final变量属于 成员变量 时,必须在定义时就设定它的初值

final double PI=121.2135D; //声明double 常量并赋值
final  double BOOL=true;  //声明boolean 常量BOOL 并赋值    
public class Demo2 {
    static final double PI = 3.14; //声明常量PI 如果不对PI 进行赋值则会出现错误提示
    static int age =23;  //声明int型变量age并进行赋值
    public static void main (String[] args){
        final int number = 1235;//声明int型常量number 并赋值
        age =22; //再次对变量进行赋值
        System.out.println("常量PI的值为"+PI);
        System.out.println("赋值后number的值为"+number);
        System.out.println("int 型变量age的值为"+age);


    }


}

运行效果
在这里插入图片描述

1.2.3 变量的有效范围。

  • 变量的有效范围指程序代码能够访问该变量的区域,若超出该区域,则在编译时会出现错误。

  • . 根据变量的“有效范围”分为“成员变量”和“局部变量”。

  1. 成员变量
  • 在类体中定义的变量称为成员变量,成员变量在整个类中都有效。
  • 类的成员变量分为 静态变量 和 实例变量
class demo{
int x = 45;//实例变量
static int y = 90; //静态变量
}
  • 静态变量的 有效范围可以跨类,甚至达到整个应用程序之内。

2.局部变量

  • 在类的方法体中定义的变量称为局部变量。

  • 类的方法中声明的变量,包括方法参数,都属于局部变量。

  • 局部变量只在当前定义的方法内有效不能用于其他方法中。

  • 局部变量可与成员变量的名字相同,但此时成员变量被隐藏,这个成员变量在此方法中暂时失效。

public class Demo3 {
    static int times=3;
    public static void main(String[] args){
        int times=4;
        System.out.println("times的值为"+times);
    }

}

在这里插入图片描述

1.3.1 赋值运算符(“=”)

public class Demo4 {
    public static void main(String[] args){
        int a=15;
        int b=a+4;
        int c=b;
        System.out.println(c);//输出c的值
        System.out.println(b);//输出b的值
    }

}

在这里插入图片描述
1.3.2算数运算符
+(加) -(减)×(乘) /(除)%(取余)

public class demo5 {
    public static void main(String[] args){
        float number1 =45.66f;
        int number2= 15;
        System.out.println("和为"+(number1+number2));
        System.out.println("差为"+(number1-number2));
        System.out.println("积为"+(number1*number2));
        System.out.println("商为"+(number1/number2));
        System.out.println("求余"+(number1%number2));
    }

}

在这里插入图片描述
1.3.3自增 自减运算
++a(–a)
a++(a–)
区别:加号在前先加1在进行运算,加号在后先进行运算,在自增1

1.3.4比较运算符

  • 比较运算符运算结果是boolean型
public class Demo6 {
    public static void main(String[] args){
        int number1 = 4;
        int number2 = 5;
        System.out.println("number1>number2返回值"+(number1>number2));//大于
        System.out.println("number1<number2返回值"+(number1<number2));//小于
        System.out.println("number1==number2返回值"+(number1==number2));//等于
        System.out.println("number1!=number2返回值"+(number1!=number2));//不等于
        System.out.println("number1>=number2"+(number1>=number2));//大于等于
        System.out.println("number1<=number2"+(number1<=number2));//小于等于
    }

}

在这里插入图片描述
1.3.5 逻辑运算符

  • &&(逻辑与)(一假全假,全真为真)(左为假时不判断右边真假)
  • || (逻辑或)(一真为真,全假为假)(左为真时不判断右边真假)
  • !(逻辑非)(真为假,假为真)
  • &(两边都要判断真假)
  • | (两边都要判断真假)
public class Demo10 {
    public static void  main(String[] args){
        int a =2;
        int b=3;
        boolean result=((a>b)&&(a!=b));
        boolean result2=((a>b)||(a!=b));
        System.out.println(result);
        System.out.println(result2);
    }
}

在这里插入图片描述
1.3.6 位运算符
& 按位与(全真为真)
| 按位或(全假为假)
~ 按位取反(真为假,假为真)
^ 按位异或(同为真或同为假时,结果为假,否则为真)

1.3.7 三元运算符
格式: 条件式?值1:值2;

boolean a = 20<45? true:false;

1.4.数据类型转换
1.4.1 隐式类型转换

  • 系统自动执行
  • 类型精度从低到高: byte<short<int <long<float<double
public class Demo11 {
    public static void main(String[] args){
        byte byte1=123;
        int int1= 456;
        float float1=123.456f;
        double double1 =123.4567;
        System.out.println(byte1+float1);
        System.out.println(int1+float1);
        System.out.println(int1+double1);
        System.out.println(byte1+double1);

    }
}

在这里插入图片描述
1.4.2 显示类型转换

  • (类型名)要转换的值
  • 将整数赋值给 byte short int long 时,超出范围则需使用强制类型转换
int a =(int)456.123; //输出值为a=456

1.4.3代码注释

  • 单行注释 //

  • 多行注释
    /*

    */

  • 文档注释
    /** */

1.4.3 编码规范
① 声明变量时,使每个变量声明单独占一行,相同数据类型也要独占一行
②对于关键方法多加注释

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值