2022-03-22
注释并不会被执行,是给我们写代码的人看的,书写注释是一个非常好的习惯,在很多大公司都是强制
要求各位去进行编写注释!比如,我们的BAT三大巨头等等
Java中的注释有三种:
单行注释:只能注释当前行,以//开始,直到行结束
多行注释:注释一段文字,以/开始, /结束!
/* 这是我们Java程序的主入口, main方法也是程序的主线程。 */每个人从出生开始就有一个名字,咋们生活中的所有事物也都有名字,这名字是谁规定呢?回答是:造
物主,谁生产出来的谁规定名字,在我们的程序中也不例外。
我们作为造物主,需要给所有的东西给上一个名字,比如我们的HelloWorld程序:
HelloWorld是类名,也是我们的文件名。它前面的 public class是关键字,不过是搞Java那群人已经定
义好的有特殊作用的,下面的每一个代码都有自己的意思和名字对吧,就是用来作区分!和我们的名字
一样,拿来被叫或者称呼的,程序一切都源自于生活,一定要把学程序和生活中的一切联系起来,你会
发现这一切都是息息相关的。
Java自己定义好的关键字
这些看起来非常的多,但是随着我们以后的学习我们都会用到,所以完全不用担心自己 看不懂,这些被
Java已经规定的关键字,我们自己就不能拿它当做名字了!
Java 所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。
我们自己起名字有哪些要求呢?
表示类名的标识符用大写字母开始。
表示方法和变量的标识符用小写字母开始,后面的描述性词以大写开始。
如:eat(),eatFood() //驼峰命名法关于 Java 标识符,有以下几点需要注意:
所有的标识符都应该以字母(A-Z 或者 a-z),美元符( )
、
或
者
下
划
线
(
)
开
始
首
字
符
之
后
可
以
是
字
母
(
A
−
Z
或
者
a
−
z
)
,
美
元
符
(
)、或者下划线(_)开始 首字符之后可以是字母(A-Z 或者 a-z),美元符( )、或者下划线()开始首字符之后可以是字母(A−Z或者a−z),美元符()、下划线(_)或数字的任何字符组合
不能使用关键字作为变量名或方法名。
标识符是大小写敏感的
合法标识符举例:age、$salary、_value、__1_value
非法标识符举例:123abc、-salary、#abc
【 JAVA不采用通常语言使用的ASCII字符集,而是采用unicode这样的标准的国际字符集。因此,这里的
字母的含义:可以表示英文、汉字等等。】
【可以使用中文命名,但是一般不建议这样去使用,也不建议使用拼音,很Low】
Java是一种强类型语言,每个变量都必须声明其类型
强类型语言也称为强类型定义语言。要求变量的使用要严格符合规定,所有变量都必须先定义后才能使
用。
Java、.NET、C++等都是强制类型定义的。也就是说,一旦一个变量被指定了某个数据类型,如果
不经过转换,那么它就永远是这个数据类型了。
安全性高,运行效率相对较慢,鱼和熊掌不可兼得!强类型定义语言在速度上可能略逊色于弱类型定义
语言,但是强类型定义语言带来的严谨性能够有效的避免许多错误。
与其相对应的是弱类型语言。
弱类型语言也称为弱类型定义语言。与强类型定义相反。像vb,php等就属于弱类型语言·
在VBScript中,可以将字符串‘12’和整数3进行连接得到字符串‘123’,也可以把它看成整数123,而不需
要显示转换。是不是十分的随便,我们Java就不是这样的。
但其实它们的类型没有改变,VB只是在判断出一个表达式含有不同类型的变量之后,自动在这些变
量前加了一个clong()或(int)()这样的转换函数而已。能做到这一点其实是归功于VB的编译器的
智能化而已,这并非是VB语言本身的长处或短处。
java的数据类型分为两大类:基本类型和引用类型
【注:引用数据类型的大小统一为4个字节,记录的是其引用对象的地址!】
不用记用的时候直接代码
public static void main(String[] args) { // byte System.out.println("基本类型:byte 二进制位数:" + Byte.SIZE); System.out.println("包装类:java.lang.Byte"); System.out.println("最小值:Byte.MIN_VALUE=" + Byte.MIN_VALUE); System.out.println("最大值:Byte.MAX_VALUE=" + Byte.MAX_VALUE); System.out.println(); // short System.out.println("基本类型:short 二进制位数:" + Short.SIZE); System.out.println("包装类:java.lang.Short"); System.out.println("最小值:Short.MIN_VALUE=" + Short.MIN_VALUE); System.out.println("最大值:Short.MAX_VALUE=" + Short.MAX_VALUE); System.out.println(); // int System.out.println("基本类型:int 二进制位数:" + Integer.SIZE); System.out.println("包装类:java.lang.Integer"); System.out.println("最小值:Integer.MIN_VALUE=" + Integer.MIN_VALUE); System.out.println("最大值:Integer.MAX_VALUE=" + Integer.MAX_VALUE); System.out.println(); // long System.out.println("基本类型:long 二进制位数:" + Long.SIZE); System.out.println("包装类:java.lang.Long"); System.out.println("最小值:Long.MIN_VALUE=" + Long.MIN_VALUE); System.out.println("最大值:Long.MAX_VALUE=" + Long.MAX_VALUE); System.out.println(); // float System.out.println("基本类型:float 二进制位数:" + Float.SIZE); System.out.println("包装类:java.lang.Float"); System.out.println("最小值:Float.MIN_VALUE=" + Float.MIN_VALUE); System.out.println("最大值:Float.MAX_VALUE=" + Float.MAX_VALUE); System.out.println(); // double System.out.println("基本类型:double 二进制位数:" + Double.SIZE); System.out.println("包装类:java.lang.Double"); System.out.println("最小值:Double.MIN_VALUE=" + Double.MIN_VALUE); System.out.println("最大值:Double.MAX_VALUE=" + Double.MAX_VALUE); System.out.println(); // char System.out.println("基本类型:char 二进制位数:" + Character.SIZE); System.out.println("包装类:java.lang.Character"); // 以数值形式而不是字符形式将Character.MIN_VALUE输出到控制台 System.out.println("最小值:Character.MIN_VALUE=" + (int) Character.MIN_VALUE); // 以数值形式而不是字符形式将Character.MAX_VALUE输出到控制台 System.out.println("最大值:Character.MAX_VALUE=" + (int) Character.MAX_VALUE); }相关科普
/* 位(bit):是计算机 内部数据 储存的最小单位,11001100是一个八位二进制数。 字节(byte):是计算机中 数据处理 的基本单位,习惯上用大写 B 来表示, 1B(byte,字节)= 8bit(位) 字符:是指计算机中使用的字母、数字、字和符号 ASCIIS码: 1个英文字母(不分大小写)= 1个字节的空间 1个中文汉字 = 2个字节的空间 1个ASCII码 = 一个字节 UTF-8编码: 1个英文字符 = 1个字节 英文标点 = 1个字节 1个中文(含繁体) = 3个字节 中文标点 = 3个字节 Unicode编码: 1个英文字符 = 2个字节 英文标点 = 2个字节 1个中文(含繁体) = 2个字节 中文标点 = 2个字节 1bit表示1位, 1Byte表示一个字节 1B=8b。 1024B=1KB 1024KB=1M 1024M=1G. */ /* 32位操作系统只可以使用32位的cpu,而64位的CPU既可以安装32位操作系统也可以安装64位操作 系统。 寻址能力简单点说就是支持的内存大小能力,64位系统最多可以支达128 GB的内存,而32位系统最 多只可以支持4G内存。 32位操作系统只可以安装使用32位架构设计的软件,而64位的CPU既可以安装使用32位软件也可以 安装使用64位软件。 现在的电脑都是64位了! */ public static void main(String[] args) { //整型 int i1=100; //长整型 long i2=998877665544332211L; //短整型 short i3=235; //浮点型 double d1=3.5; //双精度 double d2=3; float f1=(float)3.5; //单精度 float f2=3.5f; //单精度 //布尔类型 boolean true真/false假 boolean isPass=true; boolean isOk=false; boolean isBig=5>8; if(isPass){ System.out.println("通过了"); }else{ System.out.println("未通过"); } //单字符 char f='女'; char m='男'; }Java语言的整型常数默认为int型,浮点数默认是Double
【金融面试问:银行金融业务用什么类型表示?】
浮点类型float, double的数据不适合在不容许舍入误差的金融计算领域。
如果需要进行不产生舍入误差的精确数字计算,需要使用BigDecimal类
主要理由:
由于字长有限,浮点数能够精确表示的数是有限的,因而也是离散的。浮点数一般都存在舍入误差,很
多数字无法精确表示,其结果只能是接近,但不等于;二进制浮点数不能精确的表示0.1,0.01,0.001这样
10的负次幂。并不是所有的小数都能可以精确的用二进制浮点数表示。
最好完全避免使用浮点数比较 !
大数值:Java.math下面的两个有用的类:BigInteger和BigDecimal,这两个类可以处理任意长度的数
值。BigInteger实现了任意精度的整数运算。BigDecimal实现了任意精度的浮点运算。
浮点数使用总结:
单引号用来表示字符常量。例如‘A’是一个字符,它与“A”是不同的,“A”表示一个字符串。
char 类型用来表示在Unicode编码表中的字符。.
Unicode编码被设计用来处理各种语言的所有文字,它占2个字节,可允许有65536个字符;
【科普:2字节=16位 2的16次方=65536,我们用的Excel原来就只有这么多行,并不是无限的】
【代码演示:字符转int看结果】
Unicode具有从0到65535之间的编码,他们通常用从’u0000’到’uFFFF’之间的十六进制值来表示(前缀为
u表示Unicode)
Java 语言中还允许使用转义字符 ‘’ 来将其后的字符转变为其它的含义,有如下常用转义字符:
boolean类型(一位,不是一个字节),就是0|1
boolean类型有两个值,true和false,不可以 0 或非 0 的整数替代 true 和 false ,这点和C语言不同。
boolean 类型用来判断逻辑条件,一般用于程序流程控制。
【编码规范:很多新手程序员喜欢这样写】
if (is == true && un == false ) {...}只有新手才那么写。对于一个熟练的人来说,应该用如下方式来表示
if ( is && !un ) {....}由于Java是强类型语言,所以要进行有些运算的时候的,需要用到类型转换。
整型、实型(常量)、字符型数据可以混合运算。
运算中,不同类型的数据先转化为同一类型,然后进行运算。
转换从低级到高级(根据容量来看)。
数据类型转换必须满足如下规则:
不能对boolean类型进行类型转换。
不能把对象类型转换成不相关类的对象。
在把容量大的类型转换为容量小的类型时必须使用强制类型转换。
转换过程中可能导致溢出或损失精度,例如:
因为 byte 类型是 8 位,最大值为127,所以当 int 强制转换为 byte 类型时,值 128 时候就会导致溢
出。
浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入,例如:
(int)23.7 == 23; (int)-45.89f == -45自动类型转换:容量小的可以自动转换为容量大的数据类型
例如: short数据类型的位数为16位,就可以自动转换位数为32的int类型,同样float数据类型的位数为
32,可以自动转换为64位的double类型。
强制类型转换,又称为造型,用于显式的转换一个数据类型
在用可能丢失信息的情况下进行的转换是通过造型来完成的,但可能造成精度降低或溢出
强制类型转换的语法格式: (type)var ,运算符“()”中的type表示将值var想要转换成的目标数据类
型。 条件是转换的数据类型必须是兼容的。
当将一种类型强制转换成另一种类型,而又超出了目标类型的表示范围,就会被截断成为一个完全不同的值,溢出。
public static void main(String[] args) { int x = 300; byte bx = (byte)x; //值为44 System.out.println(bx); }操作比较大的数时,要留意是否溢出,尤其是整数操作时;
public static void main(String[] args) { int money = 1000000000; //10亿 int years = 20; int total = money*years; //返回的是负数 long total1 = money*years; //返回的仍然是负数。默认是int,因此结果会转成 int值,再转成long。但是已经发生了数据丢失 long total2 = money*((long)years); //先将一个因子变成long,整个表达式发 生提升。全部用long来计算。 System.out.println(total); System.out.println(total1); System.out.println(total2); }L和l 的问题:
不要命名名字为l的变量
long类型使用大写L不要用小写。
量是什么:就是可以变化的量!
我们通过变量来操纵存储空间中的数据,变量就是指代这个存储空间!空间位置是确定的,但是里面放
置什么值不确定! 打个比方:
这就好像我们家里有一个大衣柜,里面有十分多的小格子,我们给格子上贴上标签,放衣服,放鞋子,
放手表等等,此时我们知道了哪里该放什么,但是,我们并不知道里面到底放的是什么牌子的鞋子,是
衣服还是裤子。那个标签就相当于我们的变量,我们给他起了个名字,但是里面要放什么需要我们自己
去放。
Java是一种强类型语言,每个变量都必须声明其类型。
Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
变量在使用前必须对其声明, 只有在变量声明以后,才能为其分配相应长度的存储单元,声明格式为:
注意事项:
每个变量都有类型,类型可以是基本类型,也可以是引用类型。
变量名必须是合法的标识符。
变量声明是一条完整的语句,因此每一个声明都必须以分号结束
变量根据作用域分为三种:
静态变量:独立于方法之外的变量,static修饰
成员变量:独立于方法之外的变量,不过没有static的修饰
局部变量:类的方法中的变量
public class Variable{ static int allClicks=0; // 静态变量 String str="hello world"; // 成员变量 public void method(){ int i =0; // 局部变量 } }方法或语句块内部定义的变量。生命周期是从声明位置开始到”}”为止。
在使用前必须先声明和初始化(赋初值)。
局部变量没有默认值,所以局部变量被声明后,必须经过初始化,才可以使用。
方法外部、类的内部定义的变量。
从属于对象,生命周期伴随对象始终。
如果不自行初始化,他会自动初始化成该类型的默认初始值
(数值型变量初始化成0或0.0,字符型变量的初始化值是16位的0,布尔型默认是false)
使用static定义。
从属于类,生命周期伴随类始终,从类加载到卸载。
(注:讲完内存分析后我们再深入!先放一放这个概念!)
如果不自行初始化,他会自动初始化成该类型的默认初始值
(数值型变量初始化成0或0.0,字符型变量的初始化值是16位的0,布尔型默认是false)
常量(Constant):初始化(initialize)后不能再改变值!不会变动的值。
所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。
常量名一般使用大写字符。
程序中使用常量可以提高代码的可维护性。例如,在项目开发时,我们需要指定用户的性别,此时可以
定义一个常量 SEX,赋值为 “男”,在需要指定用户性别的地方直接调用此常量即可,避免了由于用户的
不规范赋值导致程序出错的情况。
运算符operator
Java 语言支持如下运算符:
算术运算符: +,-,,/,%,++,–
赋值运算符 =
关系运算符: >,=,>,> (了解!!!)
条件运算符 ?:
扩展赋值运算符:+=,-=,=,/=
整数运算
如果两个操作数有一个为Long, 则结果也为long
没有long时,结果为int。即使操作数全为shot,byte,结果也是int.
浮点运算
如果两个操作数有一个为double, 则结果为double.
只有两个操作数都是float, 则结果才为float
关系运算符
返回布尔值!
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AJJzlPpF-1594276392799)(C:\Users\哦吼吼\AppData\Roaming\Typora\typora-user-images\image-20200709141528373.png)]
就是我们小学的取余; 5%3 余 2
其操作数可以为浮点数,一般使用整数。如:5.9%3.9=2.000000004
要点:
负数%负数=负数;
负数%正数=负数;
正数%负数=正数;
自增(++)自减(–)运算符是一种特殊的算术运算符,在算术运算符中需要两个操作数来进行运算,
而自增自减运算符是一个操作数,分为前缀和后缀两种。
注意:java中的乘幂处理
public static void main(String[] args) { int a = 3^2; //java中不能这么处理, ^是异或符号。 double b = Math.pow(3, 2); } //Math类提供了很多科学和工程计算需要的方法和常数。特殊的运算都需要运用到方法!逻辑与:&&和&,逻辑或:||和|,逻辑非:!。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0vVtUbHQ-1594276392801)(C:\Users\哦吼吼\AppData\Roaming\Typora\typora-user-images\image-20200709141819377.png)]
public static void main(String[] args) { boolean a = true; boolean b = false; System.out.println("a && b = " + (a&&b)); System.out.println("a || b = " + (a||b) ); System.out.println("!(a && b) = " + !(a && b)); }逻辑与和逻辑或采用短路的方式。从左到右计算,如果确定值则不会再计算下去。在两个操作数都为
true时,结果才为true,但是当得到第一个操作为false时,其结果就必定是false,这时候就不会再判断
第二个操作了。
逻辑与只要有一个为false, 则直接返回false.
逻辑或只要有一个为true, 则直接返回true;
1
CI框架连接数据库配置操作以及多数据库操作
09-05
2
asp 简单读取数据表并列出来 ASP如何快速从数据库读取大量数据
05-17
3
C语言关键字及其解释介绍 C语言32个关键字详解
04-05
4
C语言中sizeof是什么意思 c语言里sizeof怎样用法详解
04-26
5
最简单的asp登陆界面代码 asp登陆界面源代码详细介绍
04-12
6
PHP中的魔术方法 :__construct, __destruct , __call, __callStatic,__get, __set, __isset, __unset , __sleep,
09-05
7
PHP中的(++i)前缀自增 和 (i++)后缀自增
09-05
8
PHP中include和require区别之我见
09-05
将视频设置为Android手机开机动画的教程
2014-12-11
php递归返回值的问题
2014-09-05
常用dos命令及语法
2014-09-27
如何安装PHPstorm并配置方法教程 phpstorm安装后要进行哪些配置
2017-05-03
IcePHP框架中的快速后台中的通用CRUD功能框架
2014-09-05
java中的info是什么意思
2022-03-24
PHP 教程之如何使用BLOB存取图片信息实例
2014-09-05
单片机编程好学吗?单片机初学者怎样看懂代码
2022-03-21
学ug编程如何快速入门?
2022-03-17
PHP数组函数array
2014-09-05
火影忍者国际版手游下载v1.71.72.8 安卓最新版本
角色扮演 1.86G
下载绿茵信仰游戏最新版下载v3.8.0 安卓版
体育运动 1.80G
下载奇妙梦幻城堡完整版下载v9.87.00.00 安卓版
其它手游 105.1M
下载labo积木汽车2儿童游戏下载v1.1.422 安卓版
其它手游 131.5M
下载奇妙环游世界宝宝巴士游戏下载v9.87.00.00 安卓版
其它手游 114.2M
下载全民农场游戏下载v1.26.30 安卓正版
经营养成 887.0M
下载哈利波特魔法觉醒网易版下载v1.20.220280 安卓版
其它手游 1.89G
下载宝可梦大集结体验服免费下载v1.2.1.1 安卓手机内测服
其它手游 1.90G
下载宝可梦大集结国服下载v1.2.1.1 官方安卓手机版
下载
问道果盘版本渠道服下载v2.139.0506 安卓客户端
下载
斗破苍穹异火重燃官方腾讯版下载v0.0.0.352 安卓最新版
下载
战舰帝国折扣平台下载v7.1.86 安卓版
下载
宝可梦大集结腾讯版国服下载v1.3.1.1 安卓官方正版
下载
大帝国征服者手游百度版下载v5.670 安卓版
下载
漫威对决最新版下载v1.0.125569 安卓版
下载
雪糕工厂宝宝巴士游戏下载v9.87.13.01 官方安卓版
下载