java自学——java的基本讲解和变量、字符串、运算符的简单介绍
java自学——java的基本讲解和变量、数组、字符串、运算符的简单介绍
- hello world程序
- java程序的结构
- java语句的组成介绍
- 关键字
- 标识符
- 标识符的命名规则
- 分隔符
- 注释符
- 空白符
- 普通分隔符
- eclipes 的快捷使用方式
- 快捷键
- 变量
- 概念
- 声明
- 分类
- 按照数据类型来分
- 按照声明位置分类
- 数据类型
- 字符串
- 运算符
- 分类
- 算数运算符
- 赋值运算符
- 比较运算符
- 逻辑运算符
- 三目运算符
- 位运算符
- 位移运算符
- 运算符的优先级
- 例题:
hello world程序
public class class_one {public static void main(String ars[]){System.out.println("hello world");}
}
- public : 关键字,表示最大的权限
- class :声明类额关键字
- class_one:类名,自己定义
- static:静态,表示一个类的方法
- void:空,表示无返回值
- main:java程序中的主函数方法,或者说是入口函数
- string [] args:参数数组
- system.out.println:打印到控制台的方法
- “hello world”:字符串,作为函数的实际参数
java程序的结构
- Java程序由类构成
- 一个源文件中红可以包含多个类定义,但最多只能包含一个public类定义
- 如果包含了类定义,则文件名必须和这个public类的类名完全一致
- 如果源程序中无publc类,则可选择任意一个类的名称(推荐)或者一个其他的名称作为文件名
- 对java应用程序来说,必须在其中一个类中有定义main()方法,包含main()方法的类是该应用程序的主类
- Java语句包含标识符、关键字、运算符和分隔符等元素,这些元素有着不同的语法含义和组成规则,他们相互配合,共同组成了java的语句
java语句的组成介绍
关键字
- java关键字是电脑语言中事先定义的,有特别意义的标识符,有时候又叫做保留字,他们通常用来表示一种数据类型、或者表示程序的结构,例如:int、float、str、if、for、try、else、while等等,注意关键字不能用作变量名、类名,方法名、包名或者参数名称
标识符
- java中变量、类、方法名的名称叫做标识符。标识符是自己定义的名称
标识符的命名规则
- 以字母、下划线或者¥符号开头,后面的字符可以包含字母、数字、下划线和美元符号
- Java严格区分字母的大小写
- 常量用大写字母开头,变量用小写字母开头,类以大写字母开头,多个单词采用驼峰命名方式来命名;要做到见名知意,以单词或者单词组合来命名
- 长度无限制
- 不能使用关键字或者保留关键字
分隔符
- 分隔符是用来区分源程序中的基本成分,可以使编译器确认代码在何处分割
- 分隔符有注释符、空白符和普通分隔符
注释符
- 注释是为了提高程序的可读性,可理解性
- 注释仅用于 阅读源程序,编译时会忽略所有注释
- 单行代码注释:以//开始,回车结束,可以放在语句后面
- 多行代码注释:以/*开始,以 */ 结束,中间可以写多行
空白符
- 空白符包括空格、回车、换行和制表符(Tab)等符号,作为程序中各基本成分之间的分隔符
- 个基本成分之间可以有一个后者多个分隔符
- 和注释符一样,程序编辑时,只用空白符区分基本成分,最后会被忽略
普通分隔符
- 普通分隔符和空白符的作用相同,也是区分程序中的各种基本成分,不同的是普通分隔符不能被忽略,在程序中有明确的含义
- 普通分隔符有:句号、分号、冒号、大括号、方括号、小括号
- . 句号:分隔包。类。引用变量的变量和方法,例如:
class_one.a
,引用class_one类的a变量 - ; 分号:语句结束的标志,注意这个必须要使用
- : 冒号:说明语句符号,if、for循环中会使用
- {} 大括号:定义数组类型,引用数字的元素值,例如类和方法都是使用{}括起来的
- []中括号:定义数组类型,引用过数字的元素值
- ()小括号:方法定义,方法访问中将参数括起来,或者表达式中定义运算先后次序
eclipes 的快捷使用方式
创建class的时候勾选上这个,可以自动写main函数
快捷键:alt+/可以出现提示信息。输入sys,然后使用快捷键即可
运行除了上面的绿色三角之外,还有选择文件,右击鼠标,run as ——java applicaton即可
如果要设置任何字母都可以出现提示,需要进行配置,配置方法如下:assi
如果打开文件的时候,发现代码为空了,可能就是jre配置错了,更改方式
快捷键
- 保存 ctrl+S 没有保存的情况下,代码运行的不是新的代码
- 删除 ctrl+D
- 撤回 ctrl+Z
- 撤销 ctrl+Y
- 提示:alt+/
- 注释:ctrl+/
- 查找:ctrl+f
- 搜索:ctrl+h
- 代码行位置交换:alt+向下箭头/向上箭头
- 当前行的上一行插入一行:ctrl+shift+enter
- 当前行的下一行插入一行:shift+enter
- 代码格式化:ctrl+shift+f
变量
概念
- 变量是用来存储数据的,一个变量在程序中为一个标识符,在内存中是一块控件,提供了信息和数据来临时存放的地方,具有记忆数据的功能
- 变量是可以被改变的,命名通常使用小写的字母或者单词,驼峰命名方式
- 变量的三元素:名称 值 类型
声明
- java中存储一个数据,就要将其保存在变量中,变量在使用之前必须有定义,即有确定的类型和名称
- 定义一个变量,并赋值4
int x = 4;
- int为变量的类型,x是名称,4是值
- 代码示例:
package class_baisc_basic;public class class_main_item {public static void main(String[] args) {// TODO Auto-generated method stubint myAge=20;boolean m = true;boolean n = false;byte a = 1;short b = 2;long c = 1000;char d ='a';//字符必须使用一对单引号括起来,只能保存一个字母float e = 1.1f;//float后面加上f,代表float型double f = 1.2;System.out.println(myAge);System.out.println(m);System.out.println(n);System.out.println(a);System.out.println(b);System.out.println(c);System.out.println(d);System.out.println(e);System.out.println(f);}
}
//运行结果
20
true
false
1
2
1000
a
1.1
1.2
分类
按照数据类型来分
- 基本数据类型变量
- 引用数据类型变量:引用类型的变量,他指的是一个内存地址,一个位置信息
- 引用数据类型有:数组、类、接口和枚举
按照声明位置分类
- 局部变量:方法或语句内部定义的变量
- 成员变量:方法外部、类的内部定义的变量
数据类型
- 字节:byte,机算计文件的大小的基本计算单位
- 一个字节等于8 bit;bit是位或者比特,是机算计运算的基础,二进制中的以为,是二进制最小的信息单位
- 单位换算:1byte=8bit; 1kb=1024byte;1M=1024kb;1G=1024M;1T=1024G,1P=1024T
- 机算计运算中,字节越少,机算计的运算速度越快;硬盘存储中,字节越少的数据可以存入更多的数据
- 长整型一般在数字后面加L,单精度一般加F,双精度一般加D
类别 | 数据类型 | 名称(关键字) | 字节数 | 默认值 | 取值范围 |
---|---|---|---|---|---|
布尔型 | 布尔型 | boolean | 不定值 | false | true false |
整型 | 字节型 | byte | 1 | 0 | -128~127 |
整型 | 短整型 | short | 2 | 0 | -32768~32767 |
整型 | 整型 | int | 4 | 0 | -2,147,438,648~2,147,438,647 |
整型 | 长整型 | long | 8 | 0 | -9,223,372,036,854,775,808~9,223,372,036,854,775,807 |
字符型 | 字符型 | char | 2 | ‘\u000’ | ‘\u000’~‘\ufff 或者0-65535’ |
浮点型 | 浮点型 | float | 4 | 0.0F | 1.4E-45~3.4028235E38 |
浮点型 | 双精度型 | double | 8 | 0.0D | 4.9E-324~1.7976931348623157E308 |
package class_baisc_basic;public class class_seven {public static void main(String[] args) {// TODO Auto-generated method stubint a =10;float b = 0.01F;long c = 10000L;double d = 20.1D;boolean e = true;boolean f = false;char g = 'a';short h = 1;int i = 100;System.out.println(a);System.out.println(b);System.out.println(c);System.out.println(d);System.out.println(e);System.out.println(f);System.out.println(g);System.out.println(h);System.out.println(i);}}
字符串
- 关键字:String 实时java提供的一个系统的类,可直接使用
- 字符串使用双引号保存
- 语法:Striing 字符串名字 = “hello world”
- 字符串类型的变量一般用来存储一串文字信息
- 字符串可以跟任意类型的数据尽心拼接得到新的字符串,字符串拼接符号为+
- 获取字符串长度的内置函数:length() 用法:字符串.length()
package class_baisc_basic;public class class_one {public static void main(String ars[]){String name = "Tom";String age = "20";String mes = "my name is "+name+",I am "+age+" years old";System.out.println(mes);System.out.println(1+2+mes);//如果数字和字符串拼接时,两个数字先相加,他们会先运算System.out.println(mes+1+2);//如果数字在字符串之后拼接,不会进行运算}
}//运行结果
my name is Tom,I am 20 years old
3my name is Tom,I am 20 years old
my name is Tom,I am 20 years old12
运算符
分类
- 算数运算符:+ - * / % ++ –
- 关系运算符: == >= <=
- 逻辑运算符 or not and
- 赋值运算符 = += -= *= /= %=
- 其他运算符
算数运算符
算数运算符 | 名称 | 说明 |
---|---|---|
+ | 加 | 加法运算符,也可作为字符串拼接的运算符 |
- | 减 | 减法运算符,也可以求符运算符 |
* | 乘 | 乘法运算符 |
/ | 除 | 触发运算符(int型的数相除时,会得到int类型的数据,如果有小数,小数会被舍弃) |
% | 模 | 取余数,左边操作数除以右边操作数的余数 |
++ | 自增 | 单目运算符,变量的值+1 |
- - | 自减 | 单目运算符,变量的至-1 |
- 为了增加代码对的可读性,单目运算符,可以加括号
- 自增和自减,操作数在前面,会先使用操作数,然后在+1或-1;操作数在后面,会先+1或-1,然后再使用操作数
- 代码示例:
package class_baisc_basic;public class class_two {public static void main(String[] args) {// TODO Auto-generated method stubint a = 10;int b = 12;System.out.println(a+b);System.out.println(a-b);System.out.println(a*b);System.out.println(a/b);//操作数在前面,会先使用操作数,再对变量进行+1/-1//操作数在后面,会先+1/-1,然后再使用操作数System.out.println(a++);//先打印。在+1System.out.println(a);//打印的是+1后的结果System.out.println(++a);//先+1在打印System.out.println(a);//打印后的是+1的结果System.out.println(b--);System.out.println(b);System.out.println(--b);System.out.println(b);}
}
//运行结果
22
-2
120
0
10
11
12
12
12
11
10
10
赋值运算符
赋值运算符 | 名称 | 说明 |
---|---|---|
= | 简单的赋值运算符 | 将运算符右边的值给赋给左边的变量;int c = 1+2;将1+2的结果3赋值给c |
+= | 加和赋值运算符 | 把左从操作数和有操作数相加,赋值给左操作数 ;c+=a 等价与c=c+a |
-= | 减和赋值运算符 | 把左操作数和右操作数相减赋值给左操作数 |
*= | 乘和赋值运算符 | 把左操作数和右操作数相乘赋值给左操作数 |
/ = | 除和赋值运算符 | 把左操作数和右操作数相除赋值给左操作数 |
%= | 取模和赋值运算符 | 把左操作数和右操作数取余赋值给左操作数 |
- 代码示例:
public class class_three {public static void main(String[] args) {// TODO Auto-generated method stubint a = 10;int b = 12;int c= a+ b;System.out.println(c);System.out.println(a+=b);//a=22System.out.println(a-=b);//a=22-12 10System.out.println(a*=b);//a=10*12 120System.out.println(a/=b);//a=120/12 10System.out.println(a%=b);//a=10/12 的余数 10}}
比较运算符
- 对两个变量进行比较,比较最终的结果是true或者false
- == 检查两个操作数是否相等,相等返回true,否则返回false;质押比较的操作数是数值型,即使类型不相等,数值相同,就返回true
- != 检查两个操作数是否相等,如果不相等就返回true
检查左侧的数的值是否大于右侧的数值,如果是,返回true
- < 检查左侧数的值是否小于右侧数的值,如果是,返回teur
= 检查左侧的数的值是否大于等于右侧的数值,如果是,返回true
- <=检查左侧的数的值是否小于等于右侧的数值,如果是,返回true
package class_baisc_basic;public class class_four {public static void main(String[] args) {// TODO Auto-generated method stubint a = 12;int b = 15;boolean c = a>b;//比较a和b的值,赋值给cSystem.out.println(c);//输出c的结果System.out.println(a>=b);System.out.println(a<=b);System.out.println(a!=b);System.out.println(a<b);System.out.println(a==b);}
}
逻辑运算符
- &:与,当且仅当运算符两边的表达式都为真时,运算结果才为真
- &&:短路与:当前晋档两个操作数都为真,才为真,注意:如果前面的表达式为假,则后面的表达上司则不会执行,所以叫做短路与
- |:或,如果两个操作数有一个为真,就为真
- ||:短路或,如果两个操作数任何一个为真,就为真,但是值得注意的是:如果前面的表达式为真,则后面的表达式就不会执行,所以叫做短路与
- ! :非,称为取反运算符,用来翻转操作数的逻辑状态,如果条件为true,则通过逻辑非运算符得到的是false
- ^ 异或,如果两个操作数的结果相同,为false,不同则为true
- 逻辑运算符只能运用在布尔类型的数据之间运算
- 代码示例:
package class_baisc_basic;import sun.launcher.resources.launcher;public class class_five {public static void main(String[] args) {// TODO Auto-generated method stubint a = 20;int b = 15;boolean c = (a > b)&(a<b);boolean d = (a < b)|(a>b);boolean e = (a>b)&&(a<b);//第一个表达式为真,后面的为假,falseboolean f = (a>b)||(a<b);//第一个表达式为真,不运行后面的boolean g = (a>b)^(a<b);//第一个表达式为真,不运行后面的System.out.println(e);System.out.println(f);System.out.println(c);System.out.println(d);System.out.println(g);//异或,两边不同,true} }
三目运算符
- 顾名思义,sang操作数
- 语法:逻辑表达式E?E为true的值:E为false的值
- 先对表达式求值,如果表达式为true,返回地问个操作数的值;否则返回第三个操作数的值
- 一般作为if……else的精简写法
package class_baisc_basic;public class class_six {public static void main(String[] args) {// TODO Auto-generated method stubint a= 22;int b =20;//三目运算符,?:隔开,?前为表达式,//如果正确,返回冒号前的,不正确,返回冒号后的boolean m = (a>b)?true:false;System.out.println(m);}}
位运算符
- 对两个操作中的每一个二进制位都进行运算
- 位运算符的功能
- 按位取反 :~, 1变0,0变1
- 按位与:&,两个1为1,有0为0
- 按位或:|,有1则1,两个0就是0
- 按位异或:^,相同为0,不同为1
位移运算符
- 左移:“a<<b”,将二进制形式的a,逐位左移b位,最低位空出的b为补0;
- 带符号右移:“a>>b”,将二级制形式的a逐位右移b位,最高位空出的b位补原来的符号位
- 无符号右移:"a>>>b”,将二级制形式的a逐位右移b位,最低位空出的b为补0;
运算符的优先级
- 如果括号忘记,可以使用括号将先要运算的括起来
优先级 | 运算符 | 综合性 |
---|---|---|
1 | () [] . | 从左到右 |
2 | !+(正) 、-(负)~ ++ – | 从右到左 |
3 | * / % | 从左到右 |
4 | +(加)、-(减) | 从左到右 |
5 | << >> >>> | 从左到右 |
6 | < <= > >= Instanceof | 从左到右 |
7 | == != | 从左到右 |
8 | &(按位与) | 从左到右 |
9 | ^ | 从左到右 |
10 | 与 | 从左到右 |
11 | && | 从左到右 |
12 | 短路与 | 从左到右 |
13 | ? | 从右到左 |
14 | = += -= *= /= %= != ^= ~= < <= > >= >>>= | 从左到右 |
例题:
通过键盘输入声明刷回话一个圆柱体的高和地面半径,pai的值是3.14,求圆柱体的体积,并显示输出圆柱体的体积
- 拓展:java中通过控制台获取数据,需要导入模块:
java.util.Scanner
- 代码示例:
package class_baisc_basic;
import java.util.Scanner;//导入工具类,接收键盘输入的工具类public class class_right {public static void main(String[] args) {Scanner input = new Scanner(System.in);//定义一个input的变量接收数据System.out.println("请输入圆柱体的高:");int h = input.nextInt();//从键盘接收一个数值System.out.println("请输入的地面半径:");int r = input.nextInt();//从键盘接收一个数值double v = 3.14*r*r*h;System.out.println("圆柱的体积是:"+v);}
}
//运行结果:
请输入圆柱体的高:
1
请输入的地面半径:
5
圆柱的体积是:78.5
java自学——java的基本讲解和变量、字符串、运算符的简单介绍相关推荐
- Java里的字符串, String类简单介绍.
String类在java面试中也是1个常见的问题点. 所以也是写在这里方便以后查阅了. 大家都知道c语言里是没有String 字符串这个数据类型的. 只能用字符数组的1个特殊形式来表示一个字符串, 就 ...
- Java自学,Java面试,Java培训
其实很在就想写点东西留下来,帮助自己和他人.选择在年前这个时候开是写,一方面找到工作后,生活基本上稳定下来了:二来是因为过了年,有更多的人将会找工作,或是即将毕业的大学生.或是不甘现状准备转行的.或是 ...
- Java设计模式总结篇:七大原则以及23种设计模式简单介绍
java设计模式 一.前言 二.七大原则 1.单一原则 2.开闭原则 3.里氏替换原则 4.接口隔离原则 5.依赖倒置原则 6.迪米特法则 7.合成复用原则 三.23种设计模式 1.单例模式(Sing ...
- java教程java自学_15必须阅读Java 8教程
java教程java自学 Java 8于上个月发布,并且充满了新功能和幕后优化. 互联网在覆盖所有这些新增功能(包括好与坏)方面都做得相当不错 . 我认为最好汇总一下我们认为是其中最好的一些教程,以帮 ...
- 《 郝斌 java自学视频 完结 》_《[郝斌]Java自学视频[完结]》AVI[压缩包]
中文名: [郝斌]Java自学视频[完结]资源格式: 压缩包版本: AVI发行时间: 2009年地区: 大陆对白语言: 普通话文字语言: 简体中文简介: 特别说明: 视频原始来源为互联网,原始格式为F ...
- 有什么好的Java自学教程视频,适合初学者
动力节点Java培训最新上线Java实验班,等你来测试自己适不适合学习Java编程哦! 随着互联网的发展,视频教程充斥着网络,很多人为了能够在视频教程中捞取一桶金,纷纷投入视频售卖的大军之中,其中不乏 ...
- 大学本科 java教材,大学本科自学java之路——IO
大学本科自学java之路--IO 大学本科自学java之路--IO 我现在大三,大一,大二就是玩,现在大三准备考虑就业了,特写博客便于坚持自己学习 一. 字节缓冲流的构造方法: BufferedOut ...
- 自学JAVA,能走多远?
2021年12月39日,终于下定决心自学java了,初衷很简单,因为毕业之后一直从事互联网行业,虽然没有直接敲代码,但也一直有和程序员沟通工作,慢慢的我发现我挺喜欢这样简单纯粹的工作的,学好了在自己的 ...
- Java 自学路线图之 Java 进阶自学
文章目录 Java 自学路线图的第二阶段是 Java 语言进阶自学,在自学了第一阶段的 Java 基础自学后,大家对 Java 语言编程有了初步的了解和认识,建议在第一部分自学后整理一下自己的自学思路 ...
最新文章
- 如何在Python中解析YAML文件
- ABAP入门培训8讲
- 轻松掌握Ajax.net系列教程
- 回顾 | 使用Visual Studio Code进行端到端应用程序开发
- MySQL 主从同步故障处理-小记
- c语言实验报告熟悉vc,C语言实验报告源代码
- 【CodeForces - 731C】Socks(并查集,思维)
- 利用posix_fadvise清理系统中的文件缓存
- Maven中安装本地Jar包到仓库中或将本地jar包上传
- 揭秘一份集团公司的三方数据对接情况
- 大数据分析过程中包含哪些技术
- 利用Python的PyPDF2库,根据论文标题批量修改pdf的文件名
- VS2017 安装xamarin 开发安卓程序教程
- 几款网络测试工具总结
- 对PHP中GD库的一些画图函数、及函数参数的学习总结(一)
- 【Rust日报】2021-10-06 [Rust游戏] - 自走棋
- 多元统计分析——聚类分析——K-均值聚类(K-中值、K-众数)
- 阿里云OSS图片文件和html文件无法直接打开,只能下载
- 有些话很轻、很淡、很疼!+ 有些话,经典的让人想流泪
- 51单片机与STM32的区别(为何51单片机IO引脚的驱动能力弱)