欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

javase 基础

程序员文章站 2024-03-23 14:50:22
...

一,计算机基础知识

1,注释

单行注释 //注释文字,可嵌套使用

多行注释 /* */ 不能嵌套使用

文档注释 /** */

2,标识符和关键字

gotoconst是保留字,目前没用,但也要注意其是关键字。

标识符注意事项:

1,不能以数字开头

2,不能是java中的关键字

3,区分大小写

符号只能用$和_

3, 包,类或者接口,方法和变量,常量

包:(其实就是文件夹,用于解决相同类名问题),包名要求全部小写。

类或者接口:每个单词首字母都大写。

方法和变量:如何只有一个单词,则全小写;如果为多个单词,从第二个单词开始首字母大写。

常量:如何只有一个单词,则全大写;如果为多个单词,全大写,但每个单词都要用_分开。

4,Helloworld
class Helloworld {
    public static void main(String[] args) {
        System.out.pritln("你好,世界");
    }
}
复制代码

二,进制运算&数据类型&变量

1,scale进制运算

二进制0b,八进制0,十六进制0x。在进制运算过程中,使用的是补码运算。

原码的最高为“0”表示正,“1”表示负。

正数的反码与原码相同,负数的反码对原码逐位取反,符号位除外。

正数的补码与原码相同,负数的补码是在反码的末位加1。

2,constant常量

字符串常量 System.out.println("abc"); 要用双引号括起来

整数常量 System.out.println(123);

小数常量 System.out.println(12.3);

字符常量 System.out.println(‘l’); 单引号括起来,单个字母/单个数字/单个符号,不能什么也不放,但可以放空格

布尔常量 System.out.println(true);

空常量 null

3,变量

1,基本数据类型 (1个字节=8个位)

(1)整数型

byte 占一个字节 -128~127

short 占两个字节 -2^15~2^15-1

int 占四个字节 -2^31~2^31-1

long 占八个字节 -2^63~2^63-1

(2)浮点型

float 占四个字节 单精度

double 占八个字节 双精度

(3)字符型

char 占两个字节 0~65535 (无复数类型)

(4)布尔型

boolean理论上占八分之一个字节,因为一个开关就可以决定是true或者flase了,但java中boolean类型没有明确指定它的大小。

4,数据类型的强制转换
byte b=(byte)(126+4);   //(byte) 用于将输出结果强制转换位byte类型
System.out.println(b);
复制代码

输出结果分析:

126+4=130,转换为二进制位00000000 00000000 00000000 10000010

被强制转换为byte类型后变为10000010,此为-126的补码,将其-1,并除符号位外取反,结果为-126.

所以输出结果为-126,而不是130.

例题
byte b1=3;
byte b2=4;
byte b3=b1+b2;
System.out.println(b3);
/*
 此处编译会出错,两个原因
 1,byte与byte(或short,char)进行运算时会提升为int,两个int类型相加也是int类型。
 2,b1,b2是两个变量,变量的值会变化,编译的时候没法确定里面的值,可能会超出byte的取值。
*/
byte b4=3+4;
System.out.println(b4);
/*
此处编译不会出错,因为java编译器有常量优化机制,int7被判断为在-128~127之间,能够直接输出。
*/
复制代码

转换大小数据(从小到大):

byte,short,char-------int----------long---------float-----------double

5,字符串的运算
System.out.println("hello"+'a'+1);//输出为helloa1,字符串用+与数据类型连接产生一个新的字符串
System.out.println('a'+1+"hello");//输出为98hello,先运算a+1,a的ascii码为97。
复制代码
6,a++,++a,赋值运算

a++,先赋值,再加1;++a,先加1,再赋值。

short s=1;s=s+1;  //会报错,s+1被转换为了int型,不能赋值于short型
short s=1;s+=1;   //不会报错,s+=1在此处相当于s=(short)(s+1)
复制代码

转载于:https://juejin.im/post/5b94b4175188255c735f4691