java小白成长记---(1)

本人自学java也有段时间了,想通过博客来分享自己以前学习java的过程,把自己总结的一些知识笔记分享出来,希望像我一样自学的小白可以从中获益!

01-Java基础之变量与运算符

(1)开发规范
Java严格区分大小写,public与Public是不一样的。
一个文件建议只定义一个类,且在类定义前面加public,文件名与类名要严格一致。如果一个文件中定义了多个类,只能有一个类前面加public,而且文件名必须与加public的类名严格一致。
Java Application程序的入口是main方法,即public static void main(String[] args) {}。写法固定,错一个字母也不行,大小写也要严格一致。包含main方法的类必须前面加public。
(2)运行机制
我们的源文件是.java文件,它是不能运行的,必须通过javac 编译为.class文件后才能运行。
java命令后面跟的必须是类名,不要再加.class。
这时,Java会寻找对应的.class文件(又叫类文件,字节码文件),找到对应的public类(主类),在主类中找入口方法main方法,找到后,开始从上向下执行main方法中的语句。语句以英文分号结束,语句对应着字节码指令。比如,System.out.println(“hello world”);这条语句的作用就是将字符串hello world输出到标准输出(即命令提示符的窗口中)。
(3)标识符、关键字、保留字
规则:(强制与非强制)
标识符 : 标识符就是用于给程序中的变量、类、方法命名的符号。标识符可以由编程人员自由定义,但需要遵循一定的命名规则(强制和非强制)。
强制规则:
严格区分大小写
只能是 字母、数字、下划线_、美元符号$
数字不能开头
不能使用关键字保留字
非强制规则:
驼峰规则。见名知义。
关键字,Java语言中用以特殊用途而预占用的单词或标识符称之为关键字,Java中的关键字均为小写。保留字也是关键字,只是现在未投入使用
关键字 :
| package | break | case | continue
| do | if | else | for
| switch | while | false | true
| boolean | byte | char | short
| long | float | double | try
| throw | throws | finally | abstract
| native | pravate | protected | public
| super | void | assert | enum
|synchronized| transient | volatile | instanceof
除了上面写的关键字,还有goto和const两个为Java语言中的两个保留字。保留字是指预留的还未被使用的关键字,但可能在将来的版本中使用
(4)基本类型
数据类型是为了把数据分成所需内存大小不同的数据,编程的时候需要用大的数据才申请大内存,这样可以充分利用内存。
Java语言是一种强类型语言,要求所有变量先声明后使用。目的就是为了保证变量或者表达式在编译时就能够确定其类型,并为其分配相应的内存。

分类 :
java的数据类型分为两大类,一是基本数据类型,一是引用数据类型
基本数据类型:
数值型:
整数类型:byte,short,int,long
浮点数据类型:float,double
字符型:char
布尔型:boolean
引用数据类型:
类:class,abstract class
接口:interface
数组:array
4.1 Java整型
byte/short/int/long
4.1.1 整型取值范围:Java语言整数型默认为int类型,如果要声明成long类型在值后加入L,如:long l = 123L
4.1.2 类型、占用存储空间字节数及数值范围
byte 1 -128~127
short 2 -2的15次方2的15次方-1(-3276832767)
int 4 -2的31次方~2的31次方-1
long 8 -2的63次方~2的63次方-1

4.1.3 Java整型常量的三种表示方法
十进制:如123=1100+210+31=123
八进制,八进制0开头:如:013=1
8+31=11
十六进制,十六进制0x开头:如:0x23=2
16+3*1=35

【进制转换】
10进制到二进制
示例:求十进制数10的二进制
6/2=3 余 0
3/2=1 余 1
1/2=0 余 1
将余数逆序输出就是6的二进制表示:110,位数不够补零
二进制到十进制
示例:求二进制110的十进制
规则:取出最后一位,从2的0次方开始乘,将得到的结果相加即可
02的0次方=0
1
2的1次方=2
1*2的2次方=4
110的十进制为:0+2+4=6
八进制与二进制、十进制转换类同
4.2浮点型
float/double
4.2.1 两种表示形式
十进制形式:例如:123.456 0.314
科学计数法:例如:1.23456E2 3.14E-1
4.2.2 Java浮点型取值范围
浮点声明默认是double类型,若要是float,请在尾部添加f或是F。如:float myFloat=1.23
4.2.3 类型、占用存储空间字节数及数值范围
float 4 -3.4E38 ~ 3.4E38
double 8 -1.7E308~ 1.7E308
4.3布尔型
适用于逻辑运算,用于程序流程控制
只允许取值为true,false,不可以任何其它形式代替
[示例]
boolean real=true; //正确
boolean notReal=false; //正确
boolean read2=1; //错误
boolean notReal2=0; //错误
4.4字符型
通常意义上的字符,用单个引号括起来的单个字符
如’1’,‘a’,‘b’等等
Java采用Unicode编码(即为全球统一语言编码),均可以用十六进制表示编码值
char c = ‘\u0012’;
转义字符,用’\n’来表示,即为转变之前的意义,但依然是个字符
char c=’\n’; //表示换行符
4.5 基本类型转换
布尔类型不能与其它类型做任何转换
数值型、字符型可以相互转换,规则如下:
容量小的自动转换成表示范围容量大的,但byte,short,char不能相互转换,均转化成int做计算,当然byte b = 1;short s = b; 这样转换不会报错,因为会先转为int 默认转换为short, byte b = 1; 这和时候1其实是int的字面量,只不过这样可以直接转为byte和short,但是不能把int变量直接赋值给byte和short
容量大小排序为:byte,char,short<int<long<float<double
容量大转换为容量小的,要加强制转换符,此时容易丢失精度
多类型混合运算时,系统会自动转换成统一类型(大容量数据)后再进行计算,即先类型转换后计算

变量、常量
变量分类(按作用范围)
数据类型、变量名、值、作用范围(作用域)。
按作用范围,变量分为
局部变量,实例变量(又叫属性、字段、域),类变量(又叫静态变量)。
常量,分为
字面量(又叫直接量)。像1、”1”这样的。
和 final修饰的”变量”。

运算符

释义 :
用于表示数据的运算、赋值和比较的一系列符号我们称之为运算符。
分类 :
运算符按功能划分如下:
在这里插入图片描述
算术运算符
在这里插入图片描述
关系运算符
注意 ‘==’关系运算,其意义为全等,基本数据类型比较值,引用数据类型比较地址

逻辑运算符
与 &:两个操作数相与,如果都为true,则为true
或 |:两个操作数相或,有一个为true,则为true
异或 ^:相异为true,两个操作数不一样就为true,相同为false

短路&& 和 逻辑& 区别?
1.短路与,从第一个操作数推断结果,只要有一个为fase,不再计算第二个操作数
2.逻辑与,两个操作数都计算

短路|| 和 逻辑| 区别?
1.短路或,从第一个操作数推断结果,只要有一个为true,不再计算第二个操作数
2.逻辑或,两个操作数都计算

赋值运算符
注意
1)当 “=” 两侧数据类型不一致时,适用默认转换或强制转换处理,如long num=20;int i=(int)num;
2)特殊情况为:当byte,char,short被整赋值时,不需要进行强制类型转换,不超过取值范围即可。即一个自动装载的过程。
char c=100;byte b=20; //正确
char c2=-99999;byte b2=128; //类型越界错误
在这里插入图片描述

字符串连接运算符
“+” 可用于数值计算,当有一方是字符时,则为将左右两个数据转化成字符串连在一起。如int i=10+20;String j=“10”+“20”。
当" +" 任意一侧为字符串时,系统将自动将两侧转化成字符串,做字符串链接操作。
当进行System.out.println(var)打印操作的时候,均自动转化为字符串进行输出。

运算优先级
在这里插入图片描述
表达式
表达式是指由(常量、变量、操作数)与运算符所组合而成的语句。
符合语法规则的运算符+操作数,即为表达式,如:5+3,2.0+3.0,a+b,3%2
表达式最终运行结果即为表达式的值,值的类型就是表达式的类型
运算符优先级,决定表达式的运算顺序
三目运算符:
形如:x?y:z
释义:计算x的值,若为true,则表达式的值为y;若为false,则表达式的值为z
示例:
int score=70;
String result=score<60 ? “不及格” : “及格”;
System.out.println(result); //输出结果为及格

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值