java基础知识

java基础知识

注释

注释的概念:注释的内容代码是不会执行的,可以帮助自己和别人看自己写的代码。

Java的注释有三种:

  • 单行注释://+内容

    注释一行内容
    java基础知识_第1张图片

    java基础知识_第2张图片

    将上面那条代码注释掉后,程序就不会执行那行代码

  • 多行注释

    java基础知识_第3张图片

  • 文档注释(不常用)

标识符和关键字

关键字

java基础知识_第4张图片

关键字是系统本省就起好的名字,往后起名字都不能起关键字。

比如给类名起名字就不能取关键字

在这里插入图片描述

如上:if是一个关键字,但是当它成为类名时系统报错。

标识符

java所有的组成部分都需要名字。类名,变量名,方法名都需要标识符。

标识符的起名规范:

  • 所有的标识符以大小写字母,美元符($),或者(下划线)_开始
  • 首字符之后可以是大小写字母,美元符($),任意数字,或(下划线)_组合成标识符
  • 不能使用关键字作为变量名或者方法名
  • 标识符大小写敏感
  • 不推荐使用中文命名

数据类型

java时强类型语言,要求变量的使用要严格符合规定,所有变量先定义后使用。

java的数据类型分为基本类型和引用类型

基本类型
整数类型:
  • byte占1字节,范围是-128-127
byte i = 10;
  • short占2字节,范围是-32768-32767
short i1=20;
  • int占4字节,范围是-2147483648-2147483647
int i3=30;
  • long占8字节,范围是-9223372036854775808-9223372036854775807
long i4=40L;//要定义long类型要在数字后+L

java中整数是用进制表示的二进制的数以0b开头,八进制以0开头,十六进制以0x开头

 int i =10;//用十进制表示
        int a=010;//用8进制表示
        int b=0b10;//用二进制表示
        int c=0x10;//用十六进制表示
        System.out.println("i="+i);
        System.out.println("a="+a);
        System.out.println("b="+b);
        System.out.println("c="+c);

运行结果如下:

java基础知识_第5张图片

浮点类型

float占4字节

float f=40.20f;//要定义float要在小数后+f

double占8字节

double f1=50.50;

浮点类型在运行过程中会丢失精度,所以比较大小时不推荐使用浮点类型。

字符类型

char占2字节

char c='a';

字符的本质是数字,字符对应一个Unicode值,比如:'a’代表97

布尔类型

占1位它只有ture和false两个值(表示真假)

boolean flag=true;//(真)
boolean flag=flase;//(假)
引用类型

类,接口,数组

字节的概念

位(bit):是计算机内部数据储存的最小单位,11001100是一个二进制是他有8位

字节(byte):是计算机处理数据的基本单位,一般用B表示

1byte=8bit一字节等于8位

类型转换

类型转换的优先级是:byte-short-char-int-long-float-double

优先级高的转优先级低的要强转

java中类型转换分为强制类型转换和自动类型转换

强制类型转换的格式:类型名 变量名 赋值符 (要转换的类型) 常量或变量名

int i = 10;
float f=(float)i;

上面代码原本i是整形10,然后强转成了浮点型

java基础知识_第6张图片

运行的结果也是浮点型

强转时有可能精度会丢失

double i=10.25;
int a=(int)i;

java基础知识_第7张图片

原本i是10.25强转成int就丢失精度变成了10

转换时要注意数值不能溢出

int q=10_0000_0000;//数字之间可以用下划线分割
        int y =20;
        int i =q*y;
        System.out.println(i);//如果直接这样计算会输出-1474836480

所以数字较大时可以将其中一个数强转

 int q=10_0000_0000;
        int y =20;
        long i =(long)q*y;
        System.out.println(i);

这样就可以输出本来想得到的得数

变量

概念:可以变化的量

格式:数据类型 变量名=值

int i = 10;
float a =10.3f;
char ch = 'a';
String type="abc";
注意点

每个变量都有类型,可以是基本类型可以是引用类型

变量名必须是合法的标识符

变量声明是一条完整的语句,所以必须以;结束

变量类型
  • 类变量
  • 实例变量
  • 局部变量

局部变量只能在一个代码块内生效

java基础知识_第8张图片

要是出了代码块使用局部变量程序不运行

变量必须声明和初始化

 int i = 10;
        System.out.println(i);
        int a;
        System.out.println(a);

因为a的值没有初始化,所以程序跑不起来

实例变量:从属于对象

int a;
String name;
class1 class1 = new class1();以自定义类型定义的变量
        System.out.println(class1.a);//因为没有初始化,所以输出的值是0
        System.out.println(class1.name);//输出null

实例变量,如果不对变量进行初始化,这个类型默认值是0 0.0布尔值默认false除了基本类型其余的默认值都是null

类变量

static+类型+变量名=值

即使在方法外面,也可以在方法里面调用

java基础知识_第9张图片

常量

常量:初始化后值就不可以改变了

final 常量名=值;
    final PAI=3.1415

常量名用大写

变量命名规则

所有变量,方法,类名,要有意义,不能随便起

类成员变量:首字母小写和驼峰原则:mouthDay 第一个字母小写,第二个单词开始的第一个字母大写

局部变量:首字母小写和驼峰原则

常量:大写字母和下划线PAI_MAX

类名:首字母大写和驼峰原则

方法名 :首字母小写和驼峰原则

运算符

java支持的运算符

算术运算符:±*/%++ –

赋值运算符:=

关系运算符:>,<,<=,>=,==,!=

逻辑运算符:&& || !

位运算符&,|,^,~,>>,<<,>>>

条件运算符: ? :

扩展赋值运算符:+=,-=,/=,*=

算数运算符
  int a = 10;
       int b = 20;
       int c = 30;
        System.out.println(a+b);
        System.out.println(a-c);
        System.out.println(b*c);
        System.out.println((float)a/b);
 long a=1134657845654L;
     int b=100;
     short c=10;
     byte d=5;
        System.out.println(a+b+c+d);
        System.out.println(b+c+d);
        System.out.println(c+d);

在计算时如果有long类型,结果就是long类型,否则都是int类型

关系运算符

关系运算符返回的结果是布尔值(真/假)

java基础知识_第10张图片

自增自减

前置±先使用后±,后置±,先±后使用

int a=2;
   int b =a++;//先将a赋值给b,然后自增1
   int c=++a;//先自增1,然后赋值给b
        System.out.println(a);
        System.out.println(b);
        System.out.println(c);

最后的运行结果就是4 2 4

逻辑运算符

&&(与)||(或)!(非)

&&:符号两边都为真结果才为真,否则都为假

||符号两边只要有1和位真或者两个都为真结果就为真

!取真为假,取假为真

java基础知识_第11张图片

短路求值

在&&运算符中,左边的值为假,那么结果就为假,右边的值不进行计算

int c = 5;
boolean a=(c<2)&&(++c<10);//因为c<2为假,所以后面的数不进行计算,那么c的值也是不会发生改变的
        System.out.println(c);
        System.out.println(a);
位运算操作符
a=0010 1100;
b=0000 1010;
a&b=00001000;//(只有两个数都是1才会取1)
a|b=0010 1110;//(两个数有一个为0就取0)
a^b=0010 0110//(两个数相同就为0,不同就为1)
~b=1111 0101//(取反)
    

<<向左移>>向右移

条件运算符

a?b:c;

如果a为真,结果为b,a为假,结果为c

      int a =10;
        int b=20;
        int c=a<15?a:b; 
        System.out.println(c);

因为a=10,所以肯定是小于15的,所以结果就是a

扩展赋值运算符
int a =10;
int b=20;
a+=b//a=a+b==30
a-=b//a=a-b==-10

100;
b=0000 1010;
a&b=00001000;//(只有两个数都是1才会取1)
a|b=0010 1110;//(两个数有一个为0就取0)
a^b=0010 0110//(两个数相同就为0,不同就为1)
~b=1111 0101//(取反)


<<向左移>>向右移

##### 条件运算符

a?b:c;

如果a为真,结果为b,a为假,结果为c

```java
      int a =10;
        int b=20;
        int c=a<15?a:b; 
        System.out.println(c);

因为a=10,所以肯定是小于15的,所以结果就是a

扩展赋值运算符
int a =10;
int b=20;
a+=b//a=a+b==30
a-=b//a=a-b==-10

你可能感兴趣的:(java,python,开发语言)