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

Java基础语法规范

语法规范

public class HelloWorld{ //类名: 1. 首字母要大写  2.  源文件名与类名相同// 单行注释/* 多行注释除这两个之外还有文档注释。不重要* /public static void main (String[] args){  /* 1. main()⽅法是类体中的主⽅法,该⽅法从{开始到}结束。2. Java程序中的main()⽅法必须声明为:public static void ,3. 方法名应该小写字母开头*/System.out.println("Hello world");   // 输出hello world   每一行代码结束必须要有;}
}

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

java  HelloWorld.java  // 编译
java HelloWorld // 运行

数据类型

常见数据类型

  1. 基本数据类型
    1. 数值型
      1. 整数类型 :int byte short long
      2. 浮点类型 : float double
    2. 字符型(char)
    3. 布尔型(boolean)
  2. 引用数据类型
    1. 类 class
    2. 接口 interface
    3. 数组 String []

String不是⼀个数据类型,⽽是引⽤数据类型,属于Java提供的⼀个类

强制数据类型转换

  1. 当把⾼精度的变量的值赋值给低精度变量时,必须使⽤强制类型转换(⼜称为显式类型转换)
  2. 语法规则:(类型名)要转换的内容
  3. 低精度转换⾼精度会导致精度丢失
public class ChangeType { public static void main(String[] args) { int nNum = 10; double dNum = 10.8; int ndNum = (int)dNum; double dnNum = (double)nNum; System.out.println("ndNum = "+ndNum); System.out.println("dnNum = "+dnNum);}
}

运行结果:

ndNum=10
dnNum=10.0

变量和常量

声明变量

变量声明: 
1. 数据类型 变量名 [=] ;
2. 多个变量:数据类型 变量名1 ,变量名2 ; int a ,b, c   ;
double d = 1.0 ;

声明常量

常量 :Java使用final关键字修饰常量 final double PI =3.14;
常量一般用大写字母

变量类型

  1. 成员变量:作用域为整个类,可被权限修饰符修饰
  2. 局部变量:作用域为当前方法,不能被权限修饰符修饰
  3. 静态变量:作用域为整个类,使用static修饰,可以被权限修饰符修饰,其值在运行期间只有一个副本
  4. 参数变量:方法定义 变量,参数变量的作用域限于方法内部

123 变量:

public class RunoobTest {private int instanceVar = 10 ;    //成员变量:权限修饰符 变量类型 变量名private static int staticVar;  // 静态变量:权限修饰符 static 变量类型 变量名/*静态变量 (类变量 Class Var)public class MyClass {  public static int count = 0;  // 其他成员变量和方法  }MyClass.count = 10; // 通过类名访问  MyClass obj = new MyClass();  obj.count = 20; // 通过实例名访问*/public void method(int paramVar) {int localVar = 40;  // 局部变量:变量类型 变量名// 使用变量staticVar = paramVar;System.out.println("成员变量: " + instanceVar);System.out.println("静态变量: " + staticVar);System.out.println("参数变量: " + paramVar);System.out.println("局部变量: " + localVar);}public static void main(String[] args) {RunoobTest v = new RunoobTest();v.method(50);}
}

123 运行结果:

成员变量: 10
静态变量: 50
参数变量: 50
局部变量: 40

4 变量:

  • 值传递:在方法调用时,传递的是实际参数的值的副本。当参数变量被赋予新的值时,只会修改副本的值,不会影响原始值。Java 中的基本数据类型都采用值传递方式传递参数变量的值。
public class RunoobTest {public static void main(String[] args) {int a = 10, b = 20;swap(a, b); // 调用swap方法System.out.println("a = " + a + ", b = " + b); // 输出a和b的值}public static void swap(int x, int y) {int temp = x;x = y;y = temp;}
}

运行结果:

a = 10, b = 20
  • 引用传递:在方法调用时,传递的是实际参数的引用(即内存地址)。当参数变量被赋予新的值时,会修改原始值的内容。Java 中的对象类型采用引用传递方式传递参数变量的值。
public class RunoobTest {public static void main(String[] args) {int[] arr = {10, 20};swap(arr); // 调用swap方法System.out.println("a = " + arr[0] + ", b = " + arr[1]); // 输出a和b的值}public static void swap(int[] arr) {int temp = arr[0];arr[0] = arr[1];arr[1] = temp;}
}

运行结果:

a = 20, b = 10

对象和类

修饰符

https://www.runoob.com/java/java-modifier-types.html

运算符

https://www.runoob.com/java/java-operators.html

控制流程

判断

循环

函数定义与使用

参考

菜鸟教程
Java基础学习

相关文章:

  • 流媒体内网穿透/组网/视频协议转换EasyNTS上云网关如何更改密码?
  • 1初识C#
  • 大数据组件doc
  • 12V转5V5A降压芯片:AH8317的全面解析
  • 我给线程池管理框架hippo4j找bug
  • 编译安装PHP服务(LAMP3)
  • 达梦数据库写文件的方式探索
  • HTML动态响应2-Servlet+Ajax实现HTTP前后台交互方式
  • msvcp100.dll丢失怎样修复?几种快速有效修复msvcp100.dll丢失的方法
  • 02-CSS3基本样式
  • Python教程-快速入门基础必看课程04-LIST基础
  • IDEA 常用技巧
  • ema_mnist_blog
  • SpringBoot项目中如何使用Redisson队列详解
  • 机器字长与操作系统的关系
  • 【vuex入门系列02】mutation接收单个参数和多个参数
  • 〔开发系列〕一次关于小程序开发的深度总结
  • Android单元测试 - 几个重要问题
  • Bytom交易说明(账户管理模式)
  • Github访问慢解决办法
  • HTML-表单
  • If…else
  • javascript从右向左截取指定位数字符的3种方法
  • Just for fun——迅速写完快速排序
  • Redis的resp协议
  • Solarized Scheme
  • 基于MaxCompute打造轻盈的人人车移动端数据平台
  • 买一台 iPhone X,还是创建一家未来的独角兽?
  • 猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
  • 爬虫模拟登陆 SegmentFault
  • 小程序测试方案初探
  • 支付宝花15年解决的这个问题,顶得上做出十个支付宝 ...
  • 昨天1024程序员节,我故意写了个死循环~
  • ​Distil-Whisper:比Whisper快6倍,体积小50%的语音识别模型
  • ​一、什么是射频识别?二、射频识别系统组成及工作原理三、射频识别系统分类四、RFID与物联网​
  • #我与Java虚拟机的故事#连载14:挑战高薪面试必看
  • (4.10~4.16)
  • (html转换)StringEscapeUtils类的转义与反转义方法
  • (vue)el-checkbox 实现展示区分 label 和 value(展示值与选中获取值需不同)
  • (附源码)springboot车辆管理系统 毕业设计 031034
  • (附源码)ssm考试题库管理系统 毕业设计 069043
  • (未解决)macOS matplotlib 中文是方框
  • (转)iOS字体
  • .NET BackgroundWorker
  • .NET delegate 委托 、 Event 事件
  • .NET Framework 服务实现监控可观测性最佳实践
  • .net 调用海康SDK以及常见的坑解释
  • .NET/C# 如何获取当前进程的 CPU 和内存占用?如何获取全局 CPU 和内存占用?
  • .NET简谈互操作(五:基础知识之Dynamic平台调用)
  • 。。。。。
  • []常用AT命令解释()
  • [10] CUDA程序性能的提升 与 流
  • [Algorithm][动态规划][01背包问题][目标和][最后一块石头的重量Ⅱ]详细讲解
  • [Android] Amazon 的 android 音视频开发文档
  • [C++]类和对象【下】