Java学习的第六天(JavaSE基础02)

  • 1.注释
单行注释://
多行注释:/* */
文档注释:/** */通过cmd输入javadoc Demo.java生成很多的html文档,打开index.html查看帮助文档
注意:如果直接对class Demo去使用javadoc Demo.java会出现找不到可以文档化的公共或受保护的类
必须声明public (例如 public class Demo{主函数})才能生成帮助文档
  1. 错误示例

    2.正确示例
    image.png
  • 2.关键字:都是小写的,例如public class int abstract...
  • 3.常量:不可随意改变的数据,程序在运行过程中其值不可随意的更改
1.字符串常量:1.必须使用双引号引起来;2.字符串是由0个到多个字符组成;3.空字符串" " 
2.整数常量:可以直接输出 System.out.println(10);
3.小数常量:同样可以直接输出 System.out.println(1.2);
4.字符常量:1.字符必须由' '引起来;2.里面<只能>有一个数字或一个字母
5.布尔常量:只能取两个值true/flase
6.空常量null:不能直接输出
注意:除空常量之外,其它常量均可以使用输出语句输出
  • 4.进制
1.二进制:只能是0/1,每一个二进制数就是一个bit,也就是一位
2.十进制:0123456789
3.八进制:01234567   每3个(二极管/位)为一组进行数据的存储
4.十六进制:0123456789ABCDEF   每4个(二极管/位)为一组进行数据的存储
进制转换:二进制101转十进制:1*2^0+0*2^1+1*2^2=5(十进制)
1B(字节)=8bit
1KB=1024B=2^10B
1MB=1024KB
1GB=1024MB
1TB=1024GB
注意1:真正存储数据,一个二极管(一位)是不可能真的代表一个数据,最少需要8个二极管,因为1字节=1个byte=8个位=8个bit=8个二进制数,所以计算机最小的存储单元是字节(byte),而计算机最小的信息单元是位(bit)。
注意2:
打印2进制数必须以0b开头为标志  0b0(二进制)--->0(十进制)
打印8进制数必须以0开头为标志   012(八进制)--->10(十进制)
打印16进制数必须以0x开头为标志 0x10(十六进制)--->21(十进制)
  • 5.变量:在程序运行过程中,其值可以发生改变的值,它的本质是在内存中开辟了一小块空间用于临时存储数据用的
如何声明一个变量
1.数据类型  变量名; int a;
2.赋值; a=10;
两者合二为一进行变量声明:int a=10;
  • 6.Java中的数据类型的分类
1.基本数据类型
  四类八种:
  1.整数类型:byte(1个字节) short(2个字节) int(4个字节) long(8个字节)
  2.小数类型:float(4个字节) double(8个字节)
  3.字符类型:char(2个字节) 汉字占二个字节,标点符号占一个字节,可以定义char a='嗨';来使用
  4.布尔类型:boolean(1个字节)
2.引用数据类型(面向对象):String 类 对象 枚举
  • 7.byte的取值范围
11111111--->第一个1/0代表这个二进制数是正数还是负数;也就是后七位有效
1+2+4+8+16+32+64=127
取值范围(01111111---11111111)由于这是为负数时涉及反码和补码的运算所以这里不作解释,有兴趣的小伙伴们可以自己去百度查找相关内容
取值范围(-128---127)

实例:如果byte a=128; System.out.println(a);会出错,因为128已经超出了byte的取值范围,而自动
转换成了int类型,而int类型又赋值给byte类型的数据,会有精度的损失,所以会报错!!
  • 8.使用变量时会出现的一些问题和解决方法
1.同一个程序中变量名不能重名,值可以覆盖
int a=10;
System.out.println(a); /程序正确,输出10
int a=20
System.out.println(a); /程序错误,弹出已在main方法中定义了a

int a=10
a=20; 
System.out.println(a);/程序正确,a的值可以覆盖

2.复制(涉及到不同的变量)
int a=10;
int c=a;
System.out.println(a);/程序正确,a的值不变
System.out.println(c);/程序正确,将a的值复制给c  c的值为10

3.变量名不能以数字开头
int 1b=20;
System.out.println(1b);/程序错误

4.变量名可以是汉字,但是不推荐使用
int 哈哈=2
System.out.println(哈哈);/程序正确

5.当char转换成int类型时,输出的一串数字
char a='嗨';
int b=a;
System.out.println(b);/程序正确,但是会输出15694(一串数字)

6.String类型的数据转换成int类型的数据会报错
String a="嗨";
int b=a;
System.out.println(b);/程序错误

7.=左边只能写变量名,不能写表达式
int a=10;
int b=20;
int a+b=c;
System.out.println(c);/程序报错
  • 9.数据类型的转换(自动转换和强制转换)
自动转换:小的数据可以直接赋值给大的数据
1.自动转换的正确实例,小的数据会自动转换成大的数据
byte a=1;
int b=a;
System.out.println(b);/程序正确,会自动转换

2.因为a+2默认是int类型,而大的数据不能直接赋值给小的数据
byte a=1;
byte b=a+2;
System.out.println(b);/程序错误,

3.因为小数默认是double类型,占8个字节,而float占4个字节,而大的数据不能直接赋值给小的数据
float a=1.2;
System.out.println(a); /程序错误

4.小数据可以直接转换成大的数据---自动转换
long e=100;
System.out.println(e); /程序正确

强制类型的转换
5./正确实例
byte a=1;
byte b=(byte)(a+2);
System.out.println(b); /程序正确

6.错误实例
byte a=1;
byte b=(byte)a+2;
System.out.println(b); /程序错误,a会被强制转换成byte+int类型的2

7.大的转小的数据类型
long c=100L;
int d=(int)c;
System.out.println(b); /程序正确

8.变量必须先赋值(初始化)之后才能使用
  变量名是没有初始化值的
int a;
System.out.println(a); /程序错误,未初始化变量名
  • 10.如果按照大->小的数据类型,不进行强制转换是会报错的,但是这里是正确的!!
float虽然只有四个字节,但是它的排列规则和整数不一样,实际float的四个字节的长度比long的八个字节的长度还要长

long a=200L;
float b=a;
System.out.println(b); /程序正确
  • 11.为什么char可以自动转换成int,不是char占2个字节,而int占四个字节吗??而且会输出一串数字,并不是我们定义的字符变量??
这里涉及一个ASCII码表,每一个字符都可以在ASCII码表中找到一个对应的位置,而表现出来的形式就是int类型
char a='0'  /0字符对应的ASCII码值为48
char b='a'  /a字符对应的ASCII码值为97
char c='A'  /A字符对应的ASCII码值为65
  • 12.整数默认是int,小数默认的是double类型,long a=10L(long建议加L ),float a=1.2f(float必须加F/f )
  • 13.如何将两个int类型的数据的值相互交换
需求:把a和b的值交换
思想:要有一个第三方变量
int a=10;
int b=20;
System.out.println("交换前a="+a+"\tb="+b); 
int c;
c=a;
a=b;
b=c;
System.out.println("交换前a="+a+"\tb="+b); /程序正确
  • 14.标识符:用户编程使用的名字,给类,方法,变量,常量等命名
命名规则
  1.第一个字符不是数字,由字母,数字,下划线和美元符$组成
  2.不能是java关键字
  3.对大小写敏感
约定(规范):是一些良好的建议,最好是遵循
  1.小驼峰命名法:变量和方法
      首字母小写,其它单词首字母大写   用户名:userName  getMaxAndMin
  2.大驼峰命名法:类
      每一个单词的首字母都要大写   例如class  Demo
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,711评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,932评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,770评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,799评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,697评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,069评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,535评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,200评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,353评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,290评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,331评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,020评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,610评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,694评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,927评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,330评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,904评论 2 341

推荐阅读更多精彩内容

  • Java byte code 的学习意义 为啥要学java bytecode,这就跟你问我已经会python了为...
    shanggl阅读 1,641评论 0 3
  • Win7下如何打开DOS控制台? a:开始--所有程序--附件--命令提示符 b:开始--搜索程序和文件--cmd...
    逍遥叹6阅读 1,584评论 4 12
  • 一、基础知识:1、JVM、JRE和JDK的区别:JVM(Java Virtual Machine):java虚拟机...
    杀小贼阅读 2,360评论 0 4
  • Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和...
    Java小辰阅读 1,096评论 0 2
  • 1 关键字 1.1 关键字的概述 Java的关键字对java的编译器有特殊的意义,他们用来表示一种数据类型,或...
    哈哈哎呦喂阅读 640评论 0 0