吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2292|回复: 1
收起左侧

[Java 转载] 【笔记】小小白的Java从0开始,第二节

[复制链接]
战之都 发表于 2019-8-31 15:38
本帖最后由 战之都 于 2019-9-2 11:12 编辑

上面全是长篇理论方便和我一样0基础的小小白理解
大佬直接下滑 谢谢



1关键字
1 概述
Java的关键字对Java的编译器有特殊的意义,它们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名、方法名、类名、包名。简单的来说关键字已经被Java语言占用都有自己特定的意义,不能使用在其他地方


备注:不必死记硬背,如果使用关键字作为标识符,编译器能提示错误。
goto 是java的保留字,意思是java并没有使用goto,以后是否使用未定。

标识符
1概述
就是程序员在写Java程序时,自定义的一些名字,类名就属于标识符的一种。
标识符除了应用在类名上,还可以用在变量、函数名、包名上。(要求记住,以后会经常见到这些)。
2 命名规则
1. 标识符由26个英文字符大小写(a~zA~Z)、数字(0~9)、下划线(_)和美元符号($)组成。
2. 不能以数字开头,不能是关键字
3. 严格区分大小写
4. 标识符的可以为任意长度
3 命名规范
1. 包名
  多个单词组成时所有字母小写(例:package  com.zhiyou100)
2. 类名和项目名
  多个单词组成时所有单词的首字母大写(例:HelloWorld)
3. 变量名和函数方法名
  多个单词组成时第一个单词首字母小写,其他单词首字母大写(例:lastAccessTime、getTime)。
4. 常量名
  多个单词组成时,字母全部大写,多个单词之间使用_分隔(例:INTEGER_CACHE)
  注意:只是为了增加规范性、可读性而做的一种约定,标识符在定义的时候最好见名知意,提高代码阅读性。
详见可参考阿里开发手册:http://note.youdao.com/noteshare?id=a9eec093c69ed8a5e3ab66c361eba484&sub=2F7FD75C65E44A819A11C0B890987A5E



常量

1 概述
常量是指在程序运行过程中其值不能改变的量。
Java中常量的分类:
    整数常量 所有整数
    小数常量 所有小数
    布尔常量 只有truefalse
    字符常量 :使用’’引起来的单个字符
    字符串常量 :使用“”引起来的字符序列,“”  、“a” 、” ”
   null常量 : 只有一个值null

转义字符

1 概述

特殊字符使用\”把其转化成字符的本身输出,那么使用”\”的字符称作为转移字符。

转义字符   名称  Unicode
\b Backspace (退格键) \u0008
\tTab           (Tab键盘)\u0009
\n Linefeed    (换行)\u000A
\r Carriage Return(回车)\u000D
\\  Backslash    (反斜杠) \u005C
\'     (  \"  )(Double) Quote(单(双)引号)\u0027(\u0022)
变量
1 概述
         用于存储可变数据的容器。
2 变量意义
        计算机主要用于处理生活中的数据,由于生活中存在大量的可变数据,那么计算机就必须具备存储可变数据的能力。
         比如:
                  1.时间每一秒都在发生变化,根据不同的时间要有不同的处理方式。
                  2.气象站会根据温度发布天气预报信号。
3 变量特点
         1)在内存中开辟一块空间
         2)该空间用来存储特定类型的数据
         3)在类型的取值范围内数据可以随意改变
         4)该空间必须有名字
4 变量声明
        语法:
           1)数据类型 变量名 = 初始化值;
           2)数据类型 变量名;
                            变量名 = 初始化值;
以上两种声明方式, 如果初始化值一开始就确定了可以使用第一种生声明方式
                                   如果值是通过运算等方式获取一开始不确定时,可以使用第二种声明方式

数据类型
Java中的数据类型分为两大类:基本数据类型和引用数据类型
1 基本数据类型
byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0
short:短整型,在内存中占16位,即2个字节,取值范围-32768~32767,默认值0
int:整型,用于存储整数,在内在中占32位,即4个字节,取值范围-2147483648~2147483647,默认值0
long:长整型,在内存中占64位,即8个字节-2^63~2^63-1,默认值0
Lfloat:浮点型,在内存中占32位,即4个字节,用于存储带小数点的数字(与double的区别在于float类型有效小数点只有6~7位),默认值0
double:双精度浮点型,用于存储带有小数点的数字,在内存中占64位,即8个字节,默认值0
char:字符型,用于存储单个字符,占16位,即2个字节,取值范围0~65535,默认值为空
boolean:布尔类型,占1个字节,用于判断真或假(仅有两个值,即true、false),默认值false
2 引用数据类型
类、接口类型、数组类型、枚举类型、注解类型。可以说除了基本数据类型都是引用数据类型
类型转换
Java中可以进行不同数据类型的加减乘除运算吗?是可以的。在算术运算符中已经体验过如果两个整数(int)相除会去掉小数部分。如果需要保留小数部分,可以让除数或者被除数变为double类型的(5变为5.0)。其实Java是自动的将int的那个数变为了double类型了也就是Java自动的将整数变为了浮点数。例如5/2.0 其实是5.0/2.0
1 自动类型转换
可以将一个数赋值给更大数值范围的变量,例如可以将byte类型的变量赋值给short类型的变量可以将short类型的变量赋值给int类型的变量可以将int类型的变量赋值给long类型的变量。
Java内部其实做了工作就是自动将数值进行了类型提升,就叫做自动类型转换(也叫隐式类型转换)转换规则:从存储范围小的类型到存储范围大的类型。具体规则:byte→short(char)→int→long→float→double
2 强制类型转换
强制类型转换,也称显式类型转换,是指必须书写代码才能完成的类型转换。该类类型转换很可能存在精度的损失,所以必须书写相应的代码,并且能够忍受该种损失时才进行该类型的转换转换规则:从存储范围大的类型到存储范围小的类型。
具体规则为:double→float→long→int→short(char)→byte语法格式为:(转换到的类型)需要转换的值案例:double d=3.14;int i=(int) d;
算术运算符
算术运算符用在数学表达式中,它们的作用和在数学中的作用一样。下表列出了所有的算术运算符。表格中的实例假设整数变量A的值为10,变量B的值为20:
操作符
描述
例子
+加法 - 相加运算符两侧的值A + B 等于 30
-减法 - 左操作数减去右操作数A – B 等于 -10
*乘法 - 相乘操作符两侧的值A * B等于200
/除法 - 左操作数除以右操作数B / A等于2
取余 - 左操作数除以右操作数的余数B%A等于0
++自增: 操作数的值增加1B++ 或 ++B 等于 21(区别详见下文)
--自减: 操作数的值减少1B-- 或 --B 等于 19(区别详见下文)



烧脑开始
做为一名合格的小白看下面的内容真的有点不容易啊
a++++a区别:a++和++a的含义都是一样的,都是在a的基础上再加上1。例如
a  .png
输出的结果是:                    2
                                           2


接下来:
[Java] 纯文本查看 复制代码
//                int a = 1;
//                a = a++;
//                System.out.println(a);
                
//                int a = 1;
//                a = ++a;
//                System.out.println(a);
                
//                int a = 1;
//                a = a++;
//                System.out.println(a++);
                
//                int a = 1;
//                a = a++;
//                System.out.println(++a);
                
//                int a = 1;
//                a = ++a;
//                System.out.println(++a);
                
//                int a = 1;
//                a = ++a;
//                System.out.println(a++);

121.jpg
就这几行代码我历经磨难,终于是搞清楚了.结果我就不放出来了
想当初我这六道题错了四次才知道 a++和++a的区别在于备份和自加1的顺序不同




short s1 = 1;    s1 += 1;  有错吗?
我也没彻底搞清楚 现在还有点蒙圈 等你们告诉我最好详细一点,我下次更新总结一下.








为了实现实现两个int类型变量值的交换,要求不使用中间变量再补充一点  什么是异或  :
变量的值不同时结果为1,值相同时结果为0


在java中异或的符号是 ^,具体运算结果看下表:
  • 异或:值不同时异或结果为1,值相同时异或结果为0
[td]
ab
000
011
110
101

[Java] 纯文本查看 复制代码
 int a =2;
  int b =3;
  System.out.println("a="+a+",b="+b);
  a = a ^ b;
  b = a ^ b;
  a = a ^ b;
  System.out.println("a="+a+",b="+b);

输出结果
[Asm] 纯文本查看 复制代码
a=2,b=3
a=3,b=2

  • 第一次异或的结果 等于 a b 两个变量的差异值
  • 第二次,差异值异或b,结果自然就是另一个变量的值a,这个时候b=之前的a
  • 第三次:差异值异或b,结果自然就是b
两个变量经过3次异或后,值就互换了,示例为了大家理解方便举例变量2和3,实际上任何值都是一样的
基本数据类型.png

免费评分

参与人数 4吾爱币 +5 热心值 +4 收起 理由
qq272285154 + 1 + 1 我是大白,希望后面的课程更详细!
fallstan + 1 + 1 C里面++a和a++貌似是不一样的,,太久了,我都忘记了
苏紫方璇 + 2 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
tanqiquan360 + 1 + 1 不得不说楼主条理清晰理解到位基础十分扎实,这一篇十分适合那些对Java似懂.

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

1816161605 发表于 2019-8-31 16:21
能留个联系方法吗 我也在学基础

免费评分

参与人数 1吾爱币 -2 收起 理由
苏紫方璇 -2 请勿诱导他人留联系方式

查看全部评分

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-4-19 15:57

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表