当前位置: 首页 > news >正文

【零基础 快速学Java】韩顺平 零基础30天学会Java[学习笔记]

1.Java重要特点

1.Java语言是面向对象的(oop)
2.Java语言是健壮的。

Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证

3.Java语言是跨平台性的

test.java----->test.class  可以在Windows和Linux上运行

原理:在每个操作系统中都会有对应不同的JVM虚拟机,包含在JDK中

4.Java语言是解释型的

翻译程序是指把高级语言源程序(如.c .java 等程序员编写的程序语言)翻译成机器语言程序(目标代码,计算机唯一可识别运行的语言)的软件。

翻译程序有三种方式:

  • 高级语言   ---编译--->   汇编语言   ---汇编--->   机器语言              C、C++等
  • 高级语言               --------编译-------->                机器语言              C#、Go等
  • 高级语言               --------解释-------->                机器语言              Python、JavaScript等

注意第三种,解释器按源程序语句顺序逐条翻译并立刻执行(解释一句执行一句)

我们可以说:   

        解释性语言:javascript,PHP,java

        编译性语言:c/c+ +

 2.Java运行机制及运行过程

1.JDK=JRE+开发工具集(如Javac,java编译工具)

其中JRE= JVM + Java SE标准类库

2.仅运行开发好的.class文件 只需要JRE

3.Java开发步骤

(1)基础类

public class Hello{  //名为Hello的公有类public static void main(String[] args){System.out.println("hello!")}
}

 (2)项目编码问题

如果项目中含有中文注释 ,需将项目编码保持在GBK状态下

(3)命令行命令

//如:java Hello
java +类名

(4)执行流程

 (5)开发细节

  •  main方法是Java应用程序的执行入口,固定格式public static void main(String[] args)
  • 严格大小写
  • 一个源文件最多一个public类,非public类可以有多个
  • public主方法可以在多个非public类中,在执行时指定非public类,入口变成非public类
  • 源文件文件名按public类名命名

4.转义字符

注:两个\\写\\\\

 5.注释格式

        //注释1/** 注释2*//*注释3*/

 文档注释——写在类前

6.print函数

print为一般的标准输出

println为一般的标准输出最后输出一个换行

printf主要是继承了C语言的printf的一些特性,可以进行格式化输出

注:【+的作用】

当左右两边都是数值型时,则做加法运算;

当左右两边有一方为字符串,则做拼接运算 

7.变量&数据类型

/** 声明一个变量 如C++  区别在于String大写S **/int a=2;double b=3.4;char c='d';String d="e5";System.out.println(d);

注:String是一种类

特别的:

]ava 的浮点型常量(具体值)默认为double型,声明float型常量,须后加'f’或'F

科学计数法:

System.out.println(2);  //输出:2
System.out.println(5.12e4); //输出:51200.0
System.out.println(5.12e-2); //输出:0.0512

浮点数计算偏差

  • 解释

        当浮点数与整数运算时,整数强制转换成浮点数,即8.1÷2.999...结果是近似2.7的小数

  • 判断时

        以两个数的差值的绝对值,在某个精度范围里判断。

  • 强制转换规则

强制转换规则

char < int < long < float <double

byte < short < int

(char和byte 、short不发生自动转换,若要计算可以先转化成int

例:

特别的:

大精度不能赋值给小精度

特别的:

String和基本数据类型的转换

转化成string时+“ ”;

转回时,用包装类的方法 

注:“123”转回int==123

       而“hello”转回int==报错不正常

布尔类型

boolean a=true
boolean b=false

与C不同:true不是非0,false不是0

8.API文档

Java 8 中文版 - 在线API手册 - 码工具

9.快捷键

Ctrl+Shift+D 复制光标所在行

10.运算符号(与C一样)

特别注意(易错):

i++ 是后置自增运算符,它的作用是将 i 的值增加 1,但在表达式中返回 i 的原始值

即i=i++  // i的结果没有被更新

记忆:

  • a=a++;  a不变
  • b=a++;  b不变 a变
  • a++; a变
  • b= - - a  ;   b和a都变

11.逻辑运算符

&& 短路与: 如果第一个条件为false,则第二个条件不会判断,最终结果为false【效率高】

& 逻辑与: 不管第一个条件是否为false,第二个条件都要判断

||  短路或: 一个条件为true,则第二个条件不会判断,最终结果为true【效率高】

|  逻辑或: 不管第一个条件是否为true,第二个条件都要判断

12.三元运算符

        a=9;b=10;int result=a < b ? a++ : b--;System.out.println("result="+ result +"  a="+ a +"  b="+b);输出:result=9  a=10  b=10  

a=9,b=10  故a<b成立,让result=a++  那么result=9 且 a会更新为10;b- -不被执行故b不更新

13.标识符命名规则

严格区分大小写

数字、26个英文字母大小写、_  、$

14.输入Scanner类

/*** 键入需要Scanner类:简单文本扫描器* 导入Scanner类所在包:java.util**/
import java.util.Scanner;
public class test{public static void main(String[] args){//创建类对象Scanner myscanner = new Scanner(System.in);System.out.println("请输入:");String a =  myscanner.next();System.out.println("您的名字是:"+a);}
}

Scanner的其他适用方法,部分如下:

15.进制

  • 二进制(0b或0B开头)
0b1010
0B1100
  • 八进制(0开头)
01234
  • 十六进制(0x或0X开头)
0xABC0
0X111A

 16.位运算(补码运算)

~2      按位取反
2&3    按位与
2|3     按位或
3^2    按位异或
算术右移 >>    低位溢出, 符号位不变, 高位补符号位
算术左移 <<    符号位不变,低位补0
>>>逻辑右移(无符号右移) 低位溢出,高位补 0

17.原码反码补码 

注意:

java中没有无符号数

二进制最高位:符号位(0正1负)

计算机运算时通过补码形式运算,计算机输出的都是原码

18.控制

if、if else、while与C++相同

(1)Switch语句

注意:若没写break:在当前执行体执行结束后将会执行剩余所有的执行体,不会被判断语句阻拦

(2)dowhile

 不同与while,dowhile至少执行一次;

19. break和continue的区别

  • break用于跳出一个循环体(完全结束一个循环),即一旦在循环体中遇到break,系统将完全结束循环,开始执行循环之后的代码。
  • 但当break出现在循环体中的switch语句体内时,起作用只是跳出该switch语句体,并不能终止循环体的执行。
  • continue是跳过本次循环体中剩下尚未执行的语句,立即进行下一次的循环条件判定,即只是中止(跳过)本次循环,接着开始下一次循环。
  • 注:continue语句只用于循环语句,不用于switch语句。

20.数组 

1.初始化

(1)静态初始化int[] a ={6,7,8};int b[]={6,7,8};(2)动态声明int[] c=new int[]{1, 2};(3)分布动态声明int[] d; //声明数组,但未分配空间d=new int[5]; //分配5个大小的空间d[0]=6;...d[4]=6;

没赋值时,默认为0,0.0,

2.赋值问题(引用传递)

数组a的空间大小可以用a.length方法获取

d=new int[5]; //分配5个大小的空间
int[]e=new int[d.length];
System.out.println(e.length);

未完待续...

相关文章:

  • 打造你的 Android 图像编辑器:深入解析 PhotoEditor 开源库
  • 用设计模式重新思考(类FSM)验证:从混乱到优雅
  • ES6——数组扩展之Set数组
  • [TIP] Ubuntu 22.04 配置多个版本的 GCC 环境
  • 第7篇:中间件全链路监控与 SQL 性能分析实践
  • 如何理解 IP 数据报中的 TTL?
  • 高效Excel合并拆分软件
  • 论文阅读:HySCDG生成式数据处理流程
  • 《ERP原理与应用教程》第3版习题和答案
  • MySQL安装与配置详细讲解
  • LINUX 66 FTP 2 ;FTP被动模式;FTP客户服务系统
  • Nestjs框架: nestjs-schedule模块注册流程,源码解析与定时备份数据库
  • Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)
  • 飞云智能波段主图+多空短线决策副图指标,组合操盘技术图文解说
  • 预训练语言模型T5-11B的简要介绍
  • 【Dv3Admin】系统视图菜单字段管理API文件解析
  • 如何以 9 种方式将照片从手机传输到笔记本电脑
  • 智谱清言沉思智能体,天工智能体,agenticSeek等AI Agent测试记录
  • Linux缓冲区与glibc封装:入门指南
  • 2025年全国青少年信息素养大赛 scratch图形化编程挑战赛 小高组初赛 真题详细解析
  • 橙子流量网站/今日特大军事新闻
  • wordpress建网站缺点/seo推广具体做什么
  • 汉中专业做网站/互联网全网推广
  • 工商部门在线咨询/长安网站优化公司
  • 小说网站建设方案书ppt模板/在线网站seo优化
  • wordpress评分管理插件/网站页面优化包括