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的基本讲解和变量、字符串、运算符的简单介绍相关推荐

  1. Java里的字符串, String类简单介绍.

    String类在java面试中也是1个常见的问题点. 所以也是写在这里方便以后查阅了. 大家都知道c语言里是没有String 字符串这个数据类型的. 只能用字符数组的1个特殊形式来表示一个字符串, 就 ...

  2. Java自学,Java面试,Java培训

    其实很在就想写点东西留下来,帮助自己和他人.选择在年前这个时候开是写,一方面找到工作后,生活基本上稳定下来了:二来是因为过了年,有更多的人将会找工作,或是即将毕业的大学生.或是不甘现状准备转行的.或是 ...

  3. Java设计模式总结篇:七大原则以及23种设计模式简单介绍

    java设计模式 一.前言 二.七大原则 1.单一原则 2.开闭原则 3.里氏替换原则 4.接口隔离原则 5.依赖倒置原则 6.迪米特法则 7.合成复用原则 三.23种设计模式 1.单例模式(Sing ...

  4. java教程java自学_15必须阅读Java 8教程

    java教程java自学 Java 8于上个月发布,并且充满了新功能和幕后优化. 互联网在覆盖所有这些新增功能(包括好与坏)方面都做得相当不错 . 我认为最好汇总一下我们认为是其中最好的一些教程,以帮 ...

  5. 《 郝斌 java自学视频 完结 》_《[郝斌]Java自学视频[完结]》AVI[压缩包]

    中文名: [郝斌]Java自学视频[完结]资源格式: 压缩包版本: AVI发行时间: 2009年地区: 大陆对白语言: 普通话文字语言: 简体中文简介: 特别说明: 视频原始来源为互联网,原始格式为F ...

  6. 有什么好的Java自学教程视频,适合初学者

    动力节点Java培训最新上线Java实验班,等你来测试自己适不适合学习Java编程哦! 随着互联网的发展,视频教程充斥着网络,很多人为了能够在视频教程中捞取一桶金,纷纷投入视频售卖的大军之中,其中不乏 ...

  7. 大学本科 java教材,大学本科自学java之路——IO

    大学本科自学java之路--IO 大学本科自学java之路--IO 我现在大三,大一,大二就是玩,现在大三准备考虑就业了,特写博客便于坚持自己学习 一. 字节缓冲流的构造方法: BufferedOut ...

  8. 自学JAVA,能走多远?

    2021年12月39日,终于下定决心自学java了,初衷很简单,因为毕业之后一直从事互联网行业,虽然没有直接敲代码,但也一直有和程序员沟通工作,慢慢的我发现我挺喜欢这样简单纯粹的工作的,学好了在自己的 ...

  9. Java 自学路线图之 Java 进阶自学

    文章目录 Java 自学路线图的第二阶段是 Java 语言进阶自学,在自学了第一阶段的 Java 基础自学后,大家对 Java 语言编程有了初步的了解和认识,建议在第一部分自学后整理一下自己的自学思路 ...

最新文章

  1. 如何在Python中解析YAML文件
  2. ABAP入门培训8讲
  3. 轻松掌握Ajax.net系列教程
  4. 回顾 | 使用Visual Studio Code进行端到端应用程序开发
  5. MySQL 主从同步故障处理-小记
  6. c语言实验报告熟悉vc,C语言实验报告源代码
  7. 【CodeForces - 731C】Socks(并查集,思维)
  8. 利用posix_fadvise清理系统中的文件缓存
  9. Maven中安装本地Jar包到仓库中或将本地jar包上传
  10. 揭秘一份集团公司的三方数据对接情况
  11. 大数据分析过程中包含哪些技术
  12. 利用Python的PyPDF2库,根据论文标题批量修改pdf的文件名
  13. VS2017 安装xamarin 开发安卓程序教程
  14. 几款网络测试工具总结
  15. 对PHP中GD库的一些画图函数、及函数参数的学习总结(一)
  16. 【Rust日报】2021-10-06 [Rust游戏] - 自走棋
  17. 多元统计分析——聚类分析——K-均值聚类(K-中值、K-众数)
  18. 阿里云OSS图片文件和html文件无法直接打开,只能下载
  19. 有些话很轻、很淡、很疼!+ 有些话,经典的让人想流泪
  20. 51单片机与STM32的区别(为何51单片机IO引脚的驱动能力弱)

热门文章

  1. 834所!新一轮高校评估,来了!
  2. margin常出现的bug
  3. 教师网络计算机研修培训总结,教师远程培训研修总结范文(精选6篇)
  4. 《天之痕》,永远的回忆 ...
  5. 关于树叶的活动设计_幼儿园中班数学活动好玩的树叶教案设计
  6. css 3D盒子动画
  7. Citrix Server 添加本地磁盘
  8. Processing 案例 | 圆圈的华尔兹
  9. 移动最小二乘法MLS
  10. 电动车充电器常见故障维修方法