早安,午安,晚安

目录

1.每篇惯例的废话时间

2.补充部分

(1)public static void main(String[ ] args)中的args是什么

(2)i++和++i的区别

(3)Unicode码占多少比特位

(4)Java程序编译后产生的是什么码

(5)在IDEA中的几个快捷键

(6)java中的三种注释以及再注释后显示编码GBK不可映射字符的解决

(7)打印的三种方式

(8)方法是写在类里面的

3.八种数据类型

1.变量的作用

2.变量命名

3.变量定义的时候必须要初始化

4.数据类型的取值范围

5.字符串的拼接问题

4.转义字符


1.每篇惯例的废话时间

欢迎来到我们这个系列的第三篇

这是一个你可以当唠嗑看的,当日更番剧追的javase负基础学习系列

本号会高强度的更新有关java的学习纪要,大概会保持在一个一日一更或两日一更的水平。

文章只发在csdn,免费观看,你发现有收费了就私信我我进行一个核对。

写作不易,希望能有一个免费的赞,如果有收藏,那就更好了。

在接收到大佬们给的排版建议后,经过笔者的考虑,决定把原有的第二章直接合并到这里来。

后续的话本系列的排版暂定为目前8月16日所修改的排版,后续如果有其他问题的话也麻烦各位在评论区里积极反馈。

我们直接开始!

2.补充部分

(1)public static void main(String[ ] args)中的args是什么

我们先把上一章中我们写helloworld的语句复制一份过来

public class HelloWorld {public static void main(String[] args) {System.out.println("hello");}
}

第二行的args在我尝试理解的时候带给了我一定的困惑,目前在我的理解下大概是这个意思。

args是一个字符串类型的数组,args是这个数组的名字。

这里的args其实也是一个缩写——arguments(翻译过来就是参数)的缩写,是专门用来存放命令行参数的

感觉不太懂?我们来做个小实验。

我们不妨修改运行代码,然后还是调出来运行用javac和java命令来运行一下

public class HelloWorld {public static void main(String[] args) {for(int i=0;i<args.length;i++){System.out.println(args[i]);}System.out.println("hello");}
}

我们在里面加入了一个可以看一下里面有啥的代码

    for(int i=0;i<args.length;i++){System.out.println(args[i]);}

学过点语言的各位应该能猜个八九不离十了,不过既然我们说我们是负基础的唠嗑栏目,在这里就做个解释。

第一行,这是个for循环,里面的内容变成人话就是

一个整数i,初始值为0,当i小于args的长度时,i加一

(2)i++和++i的区别

i++是先赋值,然后再自增;++i是先自增,后赋值

更人话一点就是,i++先用再加,++i是先加再用

接上我们前面说的

第二行,打印出来args中的第i个元素

然后你再去运行,你会发现一个问题

虽然能成功运行,但是没有结果

然后你可以试着在java HelloWorld后面随便打点什么,你就会发现有东西出来了

比如我输入 YU ZHOU PAI SHUI

你会发现输出了

YU
ZHOU
PAI
SHUI
hello

这里别忘了哈,下标是从0开始的,也就是说我这个名为args的数组里面的第0个元素就是YU

(3)Unicode码占多少比特位

java 的字符类型采用的是 Unicode编码方案,每个 Unicode码占用2个字节,每个字节是8个比特位,所以,每个Unicode码占用16个比特位。

(4)Java程序编译后产生的是什么码

java程序在编译后产生的是字节码,然后有的题有时候就会很想装高手的给你写成英文,所以我们也防一手,字节码的英文是byte code

(5)在IDEA中的几个快捷键

写main函数,psvm+回车

写打印函数,sout+回车

(6)java中的三种注释以及再注释后显示编码GBK不可映射字符的解决

//

这个叫做行注释

/*
*/

叫做块注释

/*** 

/** 回车,叫文档注释,一般放在类或者方法前面

当你加注释,且注释里面包含汉字的时候,你再javac就会报错,编码GBK不可映射字符

这里需要我们把格式进行一个统一,具体怎么做?

这么做

再输入javac之后 输入这一段,然后后面该加啥加啥

-encoding utf-8 

这里就相当于修改掉默认的gbk格式,改用utf-8格式

这样就没有问题了

(7)打印的三种方式

第一种

System.out.print("")

打印不换行

第二种

System.out.println("")

这个叫打印换行

第三种就和C语言类似的

System.out.printf("%d\n",a)

用的最多的就是println,最少的就是printf

(8)方法是写在类里面的

在写JAVA的时候,外边是类,里面是方法

3.八种数据类型

数据类型这块就像坐席固定上几菜几汤一样,老传统正好八样,那我们就直接拉个表单。

类型 中文名称 基本数据类型 大小

取值范围

(几个比较重要的)

特性与其他注意事项
1 int 整型 整型 4个字节 -2^31~2^31-1 都是有符号的类型,32位中有1位是符号位
2 short 短整型 整型 2个字节 -2^15~2^15-1
3 long 长整型 整型 8个字节 -2^63~2^63-1

1.一般定义的时候采用long a=10L这种方式来写,推荐使用大写L

2.java里面没有longlong

4 byte 字节型 整型 1个字节 -128~127
5 double 双精度浮点数 浮点型 8个字节

java中默认小数是double,有效小数位15位;

和long类一样,定义要在后面加d

6 float 单精度浮点数 浮点型 4个字节

有效小数位6-7位;

和long一样,定义要在后面加f

7 char 字符型 字符型 2个字节

哪怕是给的是数字,最后反馈出来也是变成对应的字符是什么。

java中使用单引号+单个字母的形式来表示字符的字面值。

8 boolean 布尔 布尔型

例如:boolean flag=true;

布尔类型只有两个取值,true和false。

在JVM的规范中,并没有规定布尔类型的大小,但有些地方给的说法是1个字节。

布尔类型余其他类型无法相互运算。

这样列个表,就清晰多了。其他的一些知识点我们列在下面。

1.变量的作用

就像是你在搞收纳时所使用的不同种类的盒子,通过装的东西类型与大小来选择不同的变量,不同类型的变量有不同的特性,这点在上面的表中就有体现。

2.变量命名

虽然前面我们说过命名的问题了,但是这里面我们再强调一遍。

变量的命名要用小驼峰可以以数字,字母,下划线,美元符号组成,但是不能以数字开头

java中你甚至可以用汉字来命名变量,这个考的就是unicode字符集,但是不推荐使用汉字或者拼音来命名。

3.变量定义的时候必须要初始化

java语言是强类型语言,什么是强类型呢?

强类型包含以下两方面的含义:

  • 所有的变量必须先声明、后使用。
  • 指定类型的变量只能接受类型与之匹配的值

(强类型语言的话一旦类型不匹配就会报错,所以前面的标L标D标F都是必要的)

这就导致java的变量定义的时候必须要初始化。

这个地方还是变成人话,什么是初始化

比如

int easy;

int food=0;

这就是两种初始化方案,一种是声明的同时赋值,一种是先声明,后面再赋值

4.数据类型的取值范围

不知道你在看取值范围的时候发现了没有,所有的变量类型(除了boolean)的取值范围由于有一位符号位的原因最后都变成了【负的2的(占多少位-1)到正的2的(占多少位-1)-1】的一个状态

占多少位这个事情前面也说过,乘个8.

5.字符串的拼接问题

两个字符串之间用+,起到的是拼接的效果

我们举个例子

public class TestDemo {public static void main(String[] args) {System.out.println("hello"+"world");}
}

你会发现显示出来就是helloworld;

同时,其他数据类型和字符串间使用+拼接,结果就是一个字符串;

但是有一个点,计算机是从左往右算的,所以如果你在字符串前面两个数之间有加号,那最后的结果就会变成前面的数字先相加,然后再和字符串组成新的字符串

如果你希望放在把两数放在后面的同时相加,那就加个括号,如下↓;

public class TestDemo {public static void main(String[] args) {System.out.println("what"+(1+2));}
}

如果你希望俩书数放在前面的同时还不相加,那就再两数中间加个“”,如下↓

public class TestDemo {public static void main(String[] args) {System.out.println(1+""+2+"what");}
}

4.转义字符

我们有些时候会有奇奇怪怪的需求;

举个例子,有时候你想输出点带双引号的东西;但是如果你在双引号里面加双引号;那就会报错

为什么呢?

前面的双引号看到后面的双引号,就近就输出出去了;

那怎么办?

你在他们中间加入一个反斜杠,就像这样↓

public class TestDemo {public static void main(String[] args) {System.out.println("\"wuhu\"");}
}

你会发现这样就跑出来了。

这就是转义字符的作用,剩下几个要知道的转义字符咱们也拉个表格。

转义字符 作用
\n 换行
\t 水平制表
\' 单引号
\" 双引号
\\ 反斜杠

我们本章就聊这么多。

就用人话,边唠边学——javaSE篇(2)一次性弄明白数据类型相关推荐

  1. 就用人话,边唠边学——javaSE篇(1)让我们开始一段不再止步于hello world的学习之旅

    本篇目录 1.系列前言(系列由来,系列内容,如何调整好学习本系列的心态,其他说明) (1)系列由来 (2)正确的心态是学习任何知识的关键 (3)系列的内容安排 2.javaSE和javaEE是个什么? ...

  2. excel计算二元线性回归_用人话讲明白梯度下降Gradient Descent(以求解多元线性回归参数为例)...

    文章目录 1.梯度 2.多元线性回归参数求解 3.梯度下降 4.梯度下降法求解多元线性回归 梯度下降算法在机器学习中出现频率特别高,是非常常用的优化算法. 本文借多元线性回归,用人话解释清楚梯度下降的 ...

  3. 撕掉伪善——用人话解释马云的996两次发言

    作为一个演说家,马云先生的话很有张力和说服力,一般情况下他很容易说服他人!但是他的996宣言不行,仔细阅读过后,我把两篇文章用人话翻译给大家听! 先说较早那个内部分享,第一部分大致是前面三段,用白话文 ...

  4. 神仙打架看不懂?用人话解读NIPS神经网络攻防赛清华三连冠团队模型算法

    本文用高中生能听懂的人话介绍了2017NIPS神经网络攻防竞赛清华大学三项冠军团队的算法模型,详细介绍了基本算法FGSM.对抗样本的生成.攻防模型训练.NIPS比赛规则.清华参赛队的模型可迁移性优化策 ...

  5. 什么是相对论?相对论是什么?用人话讲讲相对论

    用人话谈谈相对论是什么 What is relativity 写在最前面 At First 你必须要明白的重要结论 Important conclusion 相对论推导过程 Relativistic ...

  6. 阿甘学Java-开篇

    阿甘学Java-开篇 很长一段时间没有接到以前的学生给我发的信息了,从入行开始2006年初至2013年初,想想教出来的学生也有千余人,在java培训行业也算是半个老人了,想想这几年也很少有机会和大家一 ...

  7. 《论语》原文及其全文翻译 学而篇1

    学而篇第一 [本篇引语] <学而>是<论语>第一篇的篇名.<论语>中各篇一般都是以第一章的前二三个字作为该篇的篇名.<学而>一篇包括16章,内容涉及诸多 ...

  8. 东软大三上学期实训笔记-javase篇Day12

    javase篇Day12 1.类 2.对象的创建 3.构造方法: 4.面向对象三大特性 5.封装: 6.this 关键字 7.继承: 8.方法的重写(方法的覆盖): 9.super 10.多态: 11 ...

  9. 学一篇韵文,识天下汉字

    学一篇韵文,识天下汉字 http://blog.renren.com/share/227238400/7137480140 刚才看到这篇文章,较真了一把.查出如下重复汉字: 藏长弟行阿传弹核圈调勇霸腋 ...

最新文章

  1. 单例模式 -- Java
  2. python读取文件解码失败
  3. java 2分代复制垃圾回收_Java对象的后事处理——垃圾回收(二)
  4. (转)基因芯片数据GO和KEGG功能分析
  5. 【算法分析与设计】排序算法的时间复杂度与O(NlogN)
  6. 动态规划 —— 区间 DP —— 石子合并三讲
  7. [技术分享]【DLI跨源】当DLI遇见MongoDB
  8. opengl学习笔记(三)
  9. 在DataWorks中实现指定UDF只能被指定账户访问
  10. 【转】FluentAPI详细用法
  11. 苹果手机vnc进linux的服务器,linux服务器vnc远程连接,怎么使用linux服务器进行vnc远程连接?...
  12. 点餐系统+小程序常见问题解决(2022年最新版)
  13. win10锁屏账户和计算机名,如何玩转Win10锁屏和主题
  14. 二维码墓碑的技术探讨
  15. 六大机构好评的Teradata 究竟有哪些过人之处?
  16. BSC智能链主网节点搭建-2022最新详细版文档
  17. 操作系统-进程互斥的软件实现方法
  18. node.js 下载速度慢问题
  19. 毕业设计——基于小程序云开发的校园二手交易平台(附源码)
  20. python中的values函数_Pandas之排序函数sort_values()的实现

热门文章

  1. ABAP开发 扫雷小游戏
  2. android自定义button样式【转】
  3. s_gets()函数的总结
  4. 各种加密解密函数(URL加密解密、sha1加密解密、des加密解密)
  5. [小说]魔王冢(47)程强之死
  6. ES聚合之Metric聚合语法讲解
  7. 2021年下半年软件设计师考试评估解析
  8. 随机数独的生成的实验思路概述
  9. blender复制uv图
  10. 《Multi-Head Multi-Loss Model Calibration》