Java代码的第一行实战

简介: 这段代码展示了Java的基本结构,包括`package`(包)、`public`(访问修饰符)、`class`(类)、`static`(静态)、`void`(空)及`System.out.println()`(系统输出)。同时介绍了Java中的注释、数据类型(如`byte`、`short`、`int`、`long`、`float`、`double`、`char`、`boolean`)、变量、常量、运算符、类型转换、赋值运算符、关系运算符与逻辑运算符等内容。通过生动的例子帮助理解各种概念。

一、第一行Java代码
复制代码
package com.hello.main;

public class Main {
public static void main(String[] args) {
System.out.println("Hello Word");
}
}

  package:包,你可以理解为书包,钱包,女朋友的小包。在java中用包来存放不同的代码。为啥要有这个东东?想一想,你上学的时候,书包是干啥的,用来放书的,女朋友的小包包用来干啥的,放手机化妆品的。java中的package就是用来放java源码文件的。如果你不理的话,请想一想书包的作用。
  public:公共的公开的,在java中表示访问修饰符。啥叫访问修饰符?在生活中随处可见,家里的没有油了,你对象让你去买油,超市距离你家2公里左右。你应该不会选择开11号去,正巧你楼下就有共享单车,你打开了一辆。骑着车来到超市,买完东西出来法发现车没了,被别人骑走了。为啥?这辆车不是你的,他的所有权不是你,大家都可以用,是公共的。而你可以打开另外一辆骑着回家。这就叫public。java中使用访问修饰符表示这个类或者方法属性等的可访问权限。
  class:类,不要多想、这就是现实中最简单的东西。物以类聚,人以群分。你可以想一下小学的练习题,下面哪种物体不属于动物,A、哈士奇,B、老虎、C、猫、D、香蕉。你会选择哪个?为啥?
  static:静态,动与静,阴与阳。自古以来,都讲究一个平衡。JAVA中也是,静态表示这个方法不能被实例化也就是不能被动态的对象访问,可以这么理解,吃饭这件事只有你本人去吃饭才能吃饱,你让别人去吃饭,结果是别人吃饱了,你自己却挨饿。
  void:空,出家人讲究四大皆空,空即是色,色即是空。空空如也,啥都没有。你可以理解为干净,C#、JAVA中使用void关键字表示一个方法没有任何返回值。说明这个方法执行之后很干净。
  System.out.println():系统的输出方法。以后深入说说这个方法。
二、Java中的注释
    1、文档注释://,该注释用来生成文档,用来说明这个类、方法是用来干啥的,是由谁开发的。现实中就是说明书
     2、单行注释://,表示的是单行注释,每次注释一行,用来简要的说明某个被调用的方法或者代码块的作用,翻译文言文的时候,某个文言文字的白话文,就是行注释
     3、块注释://,表示多行注释,快速注释掉多行代码。这里会掉下一个馅饼。
     
/*

@author chen
@des 这里是程序的主入口main方法
/
/

这里是多行注释
/
// 输出内容
三、JAVA中的数据类型
    数据类型,你可以理解为不同大小的盒子,Java中为啥要有这个东西?试想一下,生活中没有了熟料袋,盒子等容器,生活会怎么样?Java中使用不同的数据类型来装不同内容的数据。
    数字类型:  
          1、byte字节,大小为1,可以理解小鸡啄米,每次啄一粒稻米。范围-127~128
          2、short短整型,大小为2个字节,相当于一个勺子的容量。范围,-32768~32767
          3、int整型,大小为4个字节,相当于一个碗,范围-2147483648~2147483647,
          4、long长整型,大小为8个字节,相当于一口郭,范围-9223372036854775808~9223372036854775807,要以L或者l结尾;
         记忆方法:你在家的小院子吃着饭,旁边有个小鸡正在啄你掉在地上的饭粒(byte),你疯狂的用勺子(short)将碗(int)里的肉向嘴里送,米粒都粘到脸上了,左边一个右边一个,妈妈看到你都笑了,慈祥的说,别急锅里(long)还有。
    浮点型:
          1、float,4个字节,相当于装蜂蜜的罐子,有效位数6-7位。以F或者f结尾
           2、double,8个字节,相当于油桶,有效位数15位。以D或者d结尾,
           float和double表示的都是小数,区别就是小数点后能保留多少位。
          记忆方法:想象下油桶和蜂蜜的罐子,将油和蜂蜜倒出来,哪个残留的多。
     字符型:
          1、char类型,表示一个字符,大小为2个字节,表示一个Unicode编码。比如存放A
     布尔类型:
          1、boolean:布尔类型,真或者假,一般你媳妇问你藏私房钱了吗,这答案都是布尔类型。
      字符串不是基本的数据类型
      常见的面试题:
          1、请说出JAVA中基本的数据类型,分别介绍一下使用规则。
/*

数据类型
/
public static void dataType() {
//数值型
byte b =1;
short s =10;
int i =100;
long l =100L;
//浮点型
float f =12.1235f;
double d =123.123423d;
//字符型
char c ='A';
// 布尔型
boolean bl=true;
四、变量
    声明变量:其实就是准备一些不同容量的盒子来装东西。比如,int a;char c等等;变量也就是值不定,现实中就是一个容器装不同的东西,比如你吃完的薯片盒子,或许你会用来充当笔筒。此时容器的内容改变了。
    初始化变量:盒子有了,但是没装东西,当你用这些盒子的时候发现盒子都是空的,所以盒子定义了,就要把东西放进去,java不允许你是用声明但是没赋值的变量。想象一下你买的薯片,打开以后发现是空的。一般不会这样,你买回来的肯定是装满薯片的。
五、常量
    常量:不可变化的量,就是容器中装过内容以后就不再发生变化了,比如水晶瓶,出厂之前填充水和其他物件以后,你就不能再更换里面的内容(现实中为理想状态),JAVA使用final关键字来修饰不可变的量。
    final:最终的,不可变化的,也就是说你随你父亲的姓。有坑,后面详谈。
六、运算符
    小学都学过,+、-、×、÷、%求余数 
    注意:就像数学中一样,整数无法除0,JAVA中整数除0得到的是一个异常,浮点数除0得到的是无穷大或者NaN(Not-a-Number);
四则运算
public static void Math() {
int a =10;
int b =2;
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);
七、类型转换
    1、大类型转小类型,必须强制进行,你遇到了一座金山,但是你却只有一个很小的口袋,你只能装一部分将其余的丢掉,JAVA中范围大的类型转为小的类型将丢失精度。
    2、小类型转大类型,自动转换,将蜂蜜装到油桶中去,进行四则运算的时候,java会将两边的操作数进行处理,只要类型不同,且有一方为大类型,则先将数据都转成大类型然后进行运算,所以结果也是大类型。
类型转换
public static void changeType() {
//自动类型转换
byte b =10;
int a =b;
// 强制类型转换,精度丢失
short s =(short) a;
八、赋值运算符
    等号在计算机的世界不叫等号,而称为赋值运算符,就是将右边的运算结果赋值给左边的变量,现实中,制作蛋糕,将鸡蛋和面粉混合,然后放入蛋糕模具中。例如:int a=10;a=a+3.4将抛出异常,从类型转换可以知道为啥。
    简写形式:int a =10; a+=2.3;不抛出异常,为啥?因为该句实际上是这样的a=(int)(a+2.3);
    自增和自减:++a,a++,表示自增,实际就是a=a+1;同理--a,a--;就是自减,也就是a=a-1;
          区别:如果单独一条自增,自减语句,毫无区别。但在嵌套运算中就有区别了。
             加加,减减在前,先进行自增自减元素,在参与运算,
             加加,减减在后,先参与运算,在进行自增和自减法运算
    面试题:
      1、请计算出下面的结果。
        int a =b=c=10;
        a=++b;
        c=a--;
        b=++a+c--;
      2、int a =10;a+=1.0; a=a+10.0;请说出a的值;
九、关系运算符与逻辑运算符
    关系运算符,通俗的讲就是比较,俗话说没有比较就没有伤害。现实中每天我们都在进行比较,购物的时候,选对象的时候等等,JAVA中提供了六种比较方式。
    1、== :常用来比较值是否相等,比较值是否相等。只能用于值类型的比较。
    2、!=:判断两个值不想等,如3 != 9;
    3、<、>、<=、>=和数学中的比较一致。
    逻辑运算符:满足一定的条件才能执行一定的操作。
    &&:并且,可以理解为同时满足两个条件,比如,通过手机上网,需同时满足,手机联网,并且手机无损坏。
    ||:或,当满足两个条件中的任意一个条件就返回true,比如,通过手机上网,当没有4G的时候可以通过WIFI上网,没有WIFI的时候可以通过4G上网。
    ! :非,不满足条件的时候返回true。比如,在没网络的情况下通过手机玩网游,一定玩不了。
    特点:逻辑运算符有短路的效果。
       1、&&,当第一个条件为假则不在进行第二个条件的判断。直接返回false
       2、||,当第一个条件为真的时候,则不在对第二个条件进行运算,直接返回true。
public static void boolType() {
int a=10,b=11;
System.out.println(a>9&&b<12); //true System.out.println(a<10||b>10); // true
System.out.println(!(a>0));// false
//代码效果参考:https://www.nbhbjx.cn/sitemap/post.html
     三元运算符:x<y?x:y,是真的吗?真的我就喜欢你,假的我就讨厌你。
     &与、|或、~非、和逻辑运算符类似,区别就是没有短路效果。一定会计算两个值得结果。
     特点:一个数操作两次结果是他本身。如12&12&13 结果为12

相关文章
|
6天前
|
XML 安全 Java
Java反射机制:解锁代码的无限可能
Java 反射(Reflection)是Java 的特征之一,它允许程序在运行时动态地访问和操作类的信息,包括类的属性、方法和构造函数。 反射机制能够使程序具备更大的灵活性和扩展性
17 5
Java反射机制:解锁代码的无限可能
|
2天前
|
jenkins Java 测试技术
如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例详细说明
本文介绍了如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例,详细说明了从 Jenkins 安装配置到自动构建、测试和部署的全流程。文中还提供了一个 Jenkinsfile 示例,并分享了实践经验,强调了版本控制、自动化测试等关键点的重要性。
19 3
|
8天前
|
存储 安全 Java
系统安全架构的深度解析与实践:Java代码实现
【11月更文挑战第1天】系统安全架构是保护信息系统免受各种威胁和攻击的关键。作为系统架构师,设计一套完善的系统安全架构不仅需要对各种安全威胁有深入理解,还需要熟练掌握各种安全技术和工具。
33 10
|
3天前
|
分布式计算 Java MaxCompute
ODPS MR节点跑graph连通分量计算代码报错java heap space如何解决
任务启动命令:jar -resources odps-graph-connect-family-2.0-SNAPSHOT.jar -classpath ./odps-graph-connect-family-2.0-SNAPSHOT.jar ConnectFamily 若是设置参数该如何设置
|
2天前
|
Java
Java代码解释++i和i++的五个主要区别
本文介绍了前缀递增(++i)和后缀递增(i++)的区别。两者在独立语句中无差异,但在赋值表达式中,i++ 返回原值,++i 返回新值;在复杂表达式中计算顺序不同;在循环中虽结果相同但使用方式有别。最后通过 `Counter` 类模拟了两者的内部实现原理。
Java代码解释++i和i++的五个主要区别
|
10天前
|
搜索推荐 Java 数据库连接
Java|在 IDEA 里自动生成 MyBatis 模板代码
基于 MyBatis 开发的项目,新增数据库表以后,总是需要编写对应的 Entity、Mapper 和 Service 等等 Class 的代码,这些都是重复的工作,我们可以想一些办法来自动生成这些代码。
19 6
|
10天前
|
Java
通过Java代码解释成员变量(实例变量)和局部变量的区别
本文通过一个Java示例,详细解释了成员变量(实例变量)和局部变量的区别。成员变量属于类的一部分,每个对象有独立的副本;局部变量则在方法或代码块内部声明,作用范围仅限于此。示例代码展示了如何在类中声明和使用这两种变量。
|
11天前
|
存储 Java API
优雅地使用Java Map,通过掌握其高级特性和技巧,让代码更简洁。
【10月更文挑战第19天】本文介绍了如何优雅地使用Java Map,通过掌握其高级特性和技巧,让代码更简洁。内容包括Map的初始化、使用Stream API处理Map、利用merge方法、使用ComputeIfAbsent和ComputeIfPresent,以及Map的默认方法。这些技巧不仅提高了代码的可读性和维护性,还提升了开发效率。
31 3
|
11天前
|
存储 Java 开发者
Java中的Map接口提供了一种优雅的方式来管理数据结构,使代码更加清晰、高效
【10月更文挑战第19天】在软件开发中,随着项目复杂度的增加,数据结构的组织和管理变得至关重要。Java中的Map接口提供了一种优雅的方式来管理数据结构,使代码更加清晰、高效。本文通过在线购物平台的案例,展示了Map在商品管理、用户管理和订单管理中的具体应用,帮助开发者告别混乱,提升代码质量。
20 1
|
13天前
|
Java
Java代码解释静态代理和动态代理的区别
### 静态代理与动态代理简介 **静态代理**:代理类在编译时已确定,目标对象和代理对象都实现同一接口。代理类包含对目标对象的引用,并在调用方法时添加额外操作。 **动态代理**:利用Java反射机制在运行时生成代理类,更加灵活。通过`Proxy`类和`InvocationHandler`接口实现,无需提前知道接口的具体实现细节。 示例代码展示了两种代理方式的实现,静态代理需要手动创建代理对象,而动态代理通过反射机制自动创建。