类名首字母必须大写。多个单词组成的类名,每个单词的首字母大写。

只要起名称就要让他有意义。Java中的关键字都是由小写字母组成的。

在项目中给标示符起名字在公司中大都有固定的规则。一般加上标示符和$符号。

大名称$小名称

Java中的文档注释

/**

文档注释

*/

文档注释和主要块注释的区别就是可以利用javadoc.exe进行提取,提取出来的主要是给程序员看,不是目标用户看。

注释中的嵌套

块注释中不能有块注释

例如

/*床前明月光

/*疑是地上霜*/

*/

(最后一个结尾注释符号就无法进行匹配)

用块注释扩大或者缩小范围可以进行程序的排错调试。

注释是不编译到字节码(class文件中去)。带注释的文件和不带注释的同一个文件编译之后的class文件的占用空间相同。

代码仅仅是思想的一种体现,敲的代码越多思想也成熟,两者相辅相成。

对于整数有四种表现形式:

二进制

八进制 0开头表示

十进制

十六进制 用0x开头表示

十六进制当大于十的时候再用两个阿拉伯数字10,11……因为是两位数字表示表示容易引起误解,就用一个字母表示。

因为十六进制是含有字母的所以用0x 开头。X表示是可有有字母表示的。

电报就是用发出的“滴滴”之间的间隔传递信息(相当于01)。电报不是每个滴滴之间是一样的。

关于进制的转换(主要用二进制和十六进制,八进制并不是太常用)

左边二进制,右边十进制

11=3

111 = 7;

1111= 15 ;

11111= 31;

-1010-1110

010-101-110

2   5  6   0256

-1010-1110

10   14     0xae

结论:

八进制数:其实就是二进制位 3个二进制位一个八进制(111=7,再多一个就进位了)

十六进制:其实就是二进制中的四个二进制位为一个十六进制

三十二进制用来表示的话会更短,但是需要用更多的字母去表示这个三十二进制数,所以现在用的十六进制就停止了。

Ipv4 是四段二进制的数表示的

Ipv6 是六段十六进制数表示的,ipv6足够地球上所有的设备用几十年,物联网——任何电器设备电冰箱等都分配一个固定的ip地址。

现在都是动态的ip地址的,你不上网了ip地址就释放了。

Ip地址固定有利于查找,控制设备等。。。

上图是我个人计算机在没有联网的情况下的ipconfig /all

这个是在没有联网的情况下的信息;

可以看到我现在的笔记本是没有IP地址的,今天(6月12日)刚刚看了下网络编程的课程内容。

IP地址相关的内容是网络层“网际层”。如果不联网的话是没有IP地址的。上图的内容也说明了这一点。

另外:本地主机计算机的默认的IP地址是127.0.0.1,别名叫做localhost。

本地有个DNS解析文件,具体位置在C:\Windows\System32\drivers\etc文件路径的  hosts 文件中有记录。localhost可以再修改成别的名字。

负数的二进制数

其实就是这个数的正数的二进制取反,加1.

比如-6

0000- 0110

取反1111- 1001

+0000-0001

--------------------------

1111-1010   -6

负数的二进制的最高位是1。

Long类型声明最后加上一个l。因为默认是int

Float类型声明最后加上一个f。因为默认是double

Char类型声明必须是单个字符“12”就是错误的

Char=‘1’

也可以是一个单独的汉字。一个汉字是两个字节和char类型一样。

2个字节,一个字节是8位

0000-0000 0000-0000 0000-0000 0000-0000

java是强类型数据语言       javascript就是弱类型语言。

运算两端是同类型才能运算。不同类型是不能运算的。

有特殊情况:就是强制类型转换(强转动作要慎用,很有可能丢失精度,舍去高位,留下低位)

Int和float进行运算,两个都是4个8位,float中有一个小数精位,运算之后会保留这个小数精位。不过实际中很少有这俩个类型的运算。

Char类型能够运算。Char chr= ‘a’ +1  a是两个字节,1是四个字节。

底层找到a对应的二进制码

Char(’a’+1) 强制类型转换

老美在设计计算机的时候把生活中的文字和二进制进行了一一对应。

就是ASCI表,仅仅限于老美的文字和符号。

类似的中国文字进行了编码编号GB2312(数量不够)一步步扩展,最终是GBK。

Char(‘你’+ 0) 底层“你”也是有对应的数字。

最后集合一个各个国家的码表弄成了Unicode码表,任何国家的码表都兼容ASCI码表。

byte b = 4

b = 3 +4;(或者b=7)

system.out.println(b)

这样子是不会报错的。正常打印出b=7.

byte b = 4;

btye b1=3;

btye b2=7;

b=b1+b2;

system.out.println(b);

这样子就是会报错的,提示可能丢失精度。

其背后的原理是这样的:

byte b=4,;4是int类型,编译器会对4进行检查,byte是1个字节,编译器会舍去前边三位。留下最后一位,因为b是没有超出byte类型的范围的(-128~127)。所以正常打印。

而第二种情况是b1和b2都是变量,他们的值会是变化的。b=b1+b2的是值是无法进行判断的检查的。第一种是因为等式后边是常量,编译器可以判断。

假如b2=127,b=b1+b2;这样b的值肯定无法正常给。

byte b=4

byte b1=3;

byte b2=7;

int x;

x=b1+b2;

system.out.println(x);

这种情况是没有问题的,b1和b2进行强转,都在int类型的范围之内。

int x;

int x1 = 10;

int x2 = 98;

x = x1+x2;

System.out.println(x);

这个情况是没有问题。

就是当x1或者x2特别大,超过了int类型的最大范围。

int x1 = Integer.MAX_VALUE;(代表int类型的最大值;

这样x = x1+x2,就会有精度的益出。高位的舍弃。出现运算错误。

以上就是int和byte类型的区别。int 是默认类型就没有byte类型的现象。

int x=6370;

x = x/1000 *1000;

java是强类型语言,x=6370,和1000都是整数,两个整数相除任然是整数。

javascript中这个运算就是实际的平常运算结果,js是弱类型的。

两者都是4个8位,不可能两个数一整除出现8个8位。内存挂了。在底层会舍去小数位,只留整数位。

%是取余,模运算。

-5%2 = -1

5%-2 = 1

如果%运算有负数的时候,负数只参考被模数。(5就是被模数)知道就行,一般很少用负数运算。

任何数模以2不是0就是1,正因为有这个特性可以进行一些开关算法的定义。(是否)

隔一行给一个表单设置颜色,等等。

“+”连接符

任何数只要和字符串链接都是生成一个新的字符串。

所以可以用这个方法把一个数字类型或者是别的别的类型+加上一个””,变成字符串类型。

int a=3,b;

b=a++;(大白话讲就是先把a的值赋值给b,然后再自增,但是内存不是这样的原理。)

a++,a在前面,a的值需要先参与其他预算(就是a赋值给b的过程),然后再去参与自增的动作。

b=a++;这里面既有自增预算又有赋值运算。a++,a本身是个变量,a要先运算,a要做个赋值运算,但是a没有运算完,a要做个++运算,所以为了保证a的值和其他运算的参与,所以先做了一个自己值的保留,预存,不保留的话自增完原值就没有了。

a的值预留下来再付给b。

所以a会在内存当中,先把a的值临时预存下来。然后到运算区中加1,等于4,再赋值给a。

int i=3;

i=i++;

system.out.println(i);

输出i的值是3,不是4。(这个题目很纠结。)

解析见下图。

short s=3;

s+=4;

s = s + 4;

system.out.println(s)

第一种不会报错,第二种会报错。

这个现象和上面的byte类型的差不多。3是int类型4个字节,short是2个字节,舍去高位留下最后的字节,进行存储。

s+=4,在底层进行了强制类型转换,相当于s= (short)s+4;这是赋值运算所具备的特点。

而单纯的s=s+4;因为都是变量可能超出short类型范围。

关于JDK中的运算符和变量的更多相关文章

  1. JS中的运算符 以及变量和输入输出

    1.算术运算(单目运算符) + 加 .- 减.* 乘. / 除. % 取余.++ 自增.-- 自减. >>> +:有两种作用,链接字符串/加法运算,当+两边全为数字时,进行加法运算, ...

  2. python中的运算符及表达式及常用内置函数

    知识内容: 1.运算符与表达式 2.for\while初步了解 3.常用内置函数 一.运算符与表达式 python与其他语言一样支持大多数算数运算符.关系运算符.逻辑运算符以及位运算符,并且有和大多数 ...

  3. Android中配置JDK和SDK的环境变量

    JDK环境变量的配置: 右击"计算机"或"我的电脑",选择"属性"-->"高级"或"高级系统设置&quo ...

  4. JavaScript 基础——使用js的三种方式,js中的变量,js中的输出语句,js中的运算符;js中的分支结构

    JavaScript 1.是什么:基于浏览器 基于(面向)对象 事件驱动 脚本语言 2.作用:表单验证,减轻服务器压力 添加野面动画效果 动态更改页面内容 Ajax网络请求 () 3.组成部分:ECM ...

  5. 13万字详细分析JDK中Stream的实现原理

    前提 Stream是JDK1.8中首次引入的,距今已经过去了接近8年时间(JDK1.8正式版是2013年底发布的).Stream的引入一方面极大地简化了某些开发场景,另一方面也可能降低了编码的可读性( ...

  6. 错误: 从内部类中访问本 地变量vvv; 需要被声明为最终类型

    从github 下载了源码, 进行编译, 出现了下面的错误 E:\downloads\ff\elasticsearch-master\elasticsearch-master>GRADLE :b ...

  7. C语言中的运算符

    1. 在C语言中运算符包括:算术运算符.关系运算符.赋值运算符.逻辑运算符 2.用运算符把变量.常量连接起来的式子就是表达式 3.我们阅读一个表达式,从表达式的功能和表达式的值来看 4. 算术运算符和 ...

  8. Java 学习第一步-JDK安装和Java环境变量配置

    Java学习第一步——JDK安装及Java环境变量配置 [原文]  2014-05-30 9:09  Java SE  阿超  9046 views Java作为当下很主流的编程语言,学习Java的朋 ...

  9. JDK中的Timer和TimerTask详解(zhuan)

    http://www.cnblogs.com/lingiu/p/3782813.html ************************************************** 目录结构 ...

随机推荐

  1. HDU 5512 Pagodas (2015沈阳现场赛,找规律+gcd)

    Pagodas Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Sub ...

  2. [iOS微博项目 - 2.1] - 获得新浪授权接口

    A.如何获得新浪的授权接口 登陆新浪的开放平台 注册新浪账号 创建应用 获得应用id和请求地址 查阅相关API 关联需要进行测试的账号   1.登陆开放平台 http://open.weibo.com ...

  3. UVaLive 7370 Classy (排序,比较)

    题意:给定 n 个人,和他们的数进行比较,从后面开始比,如果不够长,加middle接着比,直到没有,如果还相同比名字. 析:很水的题,就不用说了. 代码如下: #pragma comment(link ...

  4. Java学习笔记(三):数组

    数组声明 java语言中,数组是一种最简单的复合数据类型.数组是有序数据的集合,数组中的每个元素具有相同的数据类型,可以用一个统一的数组名和下标来唯一地确定数组中的元素. int arr1[]; in ...

  5. python的sys.path

    python检测不到模块: No module named 是因为模块没有在sys.path中,查看sys.path的方法 import sys sys.path 发现确实没有加载到模块. windo ...

  6. The plot Function in matlab

    from http://pundit.pratt.duke.edu/wiki/MATLAB:Plotting The plot Function The plot function is used t ...

  7. 基于linux 的2048

    在 debian 下写了一个 2048, 效果如下: 感兴趣的朋友可以在这里(http://download.csdn.net/download/kamsau/7330933)下载. 版权声明:本文为 ...

  8. 关于GridBagLayout的讲解哦

    13-08-29 17:01:10|  分类: Java |  标签:gridbaglayout  gridbagconstraints  添加方法  |字号 订阅     GridBagLayout ...

  9. Swift学习笔记五

    基础运算符 Swift的大部分运算符和C及OC相同,也分一元二元多元的,这里只记录一些Swift特有的性质或写法. 赋值运算符( = ) 在等号右边是一个有多个值的元组时,它的成员值可以分解并同时分别 ...

  10. TC srm 673 300 div1

    TC srm.673 300 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 Description 给你n(n<=50)匹马和n个人,一匹马和一个人能 ...