java学习笔记之java语言基础(一)

关键字

被赋予特殊Java含义的单词;
关键字中所有字母都为小写。

标识符

用于标识某些东西的符号。
类名首字母大写是一种规范!
必须由26个英文字母大小写、数字0~9、符号:_和$组成
数字不能开头
不能使用关键字
不能有空格

注释

单行注释://XXXXXX
多行注释:/* XXXXXX */
这两种注释很多语言通用。
还有一种注释是java特有的:
/ * *
文档注释
*/
文档注释可以通过javadoc提取。

注释内可以嵌套注释:
单行注释中可以有单行/多行注释
多行注释中可以有单行注释,但不能有多行注释。

注释还可以进行程序的调试
注释不占字节数

常量与变量

常量

不能被改变的数据
分类:
整数常量:

  • 二进制整数;
  • 八进制整数;
  • 十进制整数;
  • 十六进制整数

小数常量

布尔常量:

  • 只有两个值(true、false)是关键字;

字符常量:

  • 数字0~9、字母、符号 用(’’)单引号标识;

字符串常量:

  • 用("")双引号标识,可放多个字符;

null常量:

  • 只有一个数值null。

变量

变化的数据。内存中的一个存储区域,有自己的名称(变量名)和类型(数据类型);
该区域的数据可以在同一类型范围内不断变化;用来存放同一类型的常量,并可以重复使用。
定义变量的格式:
数据类型 变量名 = 初始化值;
数据类型:

  1. 基本数据类型
    整数型(int,long,short,byte)
    浮点型(float,double)
    字符型(char)
    布尔型(Boolean)
  2. 引用数据类型
    类(class)
    接口(interface)
    数组([ ])
    整型默认(int),小数默认(double)
    在一个特别大的数后加l,表示它是长整型的数。

例:

long s=1234567890123l;
float f=2.3f;
char ch='1';

若编译错误,显示出现非法字符,则说明使用了中文字符。

自动类型提升:
运算两端必须要同类型才能运算。
两种数值同时运算时,占用内存较小的会自动提升成较大的。

强制类型转换:
例如:

byte b=3;
b=(byte)(b+4);

若出现负数,则说明字节最高位为1,进行了二进制转换(先减1,再取反)

类型运算细节
有这样一个代码:

byte b=4;
b=3+7;
System.out.println(b);

运行得:10

但如果

byte b=4;
byte b1=3;
byte b2=7;
b=b1+b2;
System.out.println(b);

运行结果是?
出错了!错误原因是:可能损失精度
因为b1,b2是变量,会变化,不能保证b1和b2之和不超出限度造成损失精度。

运算符

算术运算符

+,-,*,/,%,+(连接符)

int x=6370;
x=x/1000*1000;
System.out.println(x);

运行结果是6000,而不是6370。因为java是强类型语言,x/1000结果是6而不是6.37.

+(连接符):
任何数据和字符串用"+"连接,结果都是字符串
例如:

//想分别打印a和b
int a=4,b=5;
System.out.println(a+","+b);

运行结果是:4,5

//想打印a=4,b=5
int a=4,b=5;
System.out.println("a="+a+",b="+b);

运行结果是:a=4,b=5

自增(++)、自减(–)

int a=3,b;
b=a++;
System.out.println("a="+a+",b="+b);

运行结果:a=4,b=3
相当于:

temp=a;
a=a+1;
b=temp;

int a=3,b;
b=++a;
System.out.println("a="+a+",b="+b);

运行结果:a=4,b=4
相当于:

a=a+1;
b=a;

赋值运算符

=、+=、-=、*=、/=、%=
赋值运算所具备的特点:做自动类型转换。
例:

short s=3;
s+=4;

short s=3;
s=s+4;

有什么区别?
第一段代码的运行结果是7;而第二个却是无法运行的。
因为第一个进行一次运算,做了自动类型转换;而第二个做了两次运算,且右边的值不确定,不做自动类型转换,可能损失精度。

比较运算符

==、!=、>、<、>=、<=、instanceof
比较运算符的运算结果必须是true/false

逻辑运算符

&(与),|(或),^(异或),!(非),&&(与,短路),||(或,短路)
用于连接两个boolean类型的表达式
&符号的运算特点:一假必假
|符号的运算特点:一真必真
^符号的运算特点:不同为真,相同为假
!符号的运算特点:与原来结果相反
例如:
!true=false
!!true=true

&&和&运算的结果是一样的。但是运算过程有点小区别。
&:无论左边的运算结果是什么,右边都参与运算。
&&:当左边为false时,右边不参与运算的。

||和|运算的结果是一样的。但是运算过程有点小区别。
|:无论左边的运算结果是什么,右边都参与运算。
||:当左边为true时,右边不参与运算的。

位运算符

二进制位(比特位)运算的符号

&:
6&3=2
110&011=010=2

|:
6|3=7
110|011=111=7

^:
6^3=5
110^011=101=5
一个数异或同一个数两次,结果还是这个数。
可用于加密、

~:(取反)
~6=-7

<<(左移):
3<<2=12
a<<b=a*2b

>>(右移):
6>>1=3
a>>b=a/2b
数据进行右移时,高位出现的空位,用最高位的数补齐

>>>(无符号右移):
数据进行右移时,高位出现的空位,无论正负,都用0补

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值