Java基础之Java语法

简介: Java语法基础部分汇总  1,关键字:其实就是某种语言赋予了特殊含义的单词。  保留字:其实就是还没有赋予特殊含义,但是准备日后要使用过的单词。  2,标示符:其实就是在程序中自定义的名词。比如类名,变量名,函数名。

Java语法基础部分汇总

  1,关键字:其实就是某种语言赋予了特殊含义的单词。

  保留字:其实就是还没有赋予特殊含义,但是准备日后要使用过的单词。

  2,标示符:其实就是在程序中自定义的名词。比如类名,变量名,函数名。包含0-9、a-z、$、_;

  注意:

  1),数字不可以开头。

  2),不可以使用关键字。

  3,常量:是在程序中的不会变化的数据。

  4,变量:其实就是内存中的一个存储空间,用于存储常量数据。

  作用:方便于运算。因为有些数据不确定。所以确定该数据的名词和存储空间。

  特点:变量空间可以重复使用。

  什么时候定义变量?只要是数据不确定的时候,就定义变量。

  变量空间的开辟需要什么要素呢?

  1,这个空间要存储什么数据?数据类型。

  2,这个空间叫什么名字啊?变量名称。

  3,这个空间的第一次的数据是什么?变量的初始化值。

  变量的作用域和生存期:

  变量的作用域:

  作用域从变量定义的位置开始,到该变量所在的那对大括号结束;

  生命周期:

  变量从定义的位置开始就在内存中活了;

  变量到达它所在的作用域的时候就在内存中消失了;

  数据类型:

  1):基本数据类型:byte、short、int、long、float、double、char、boolean

  2):引用数据类型:数组、类、接口。

  级别从低到高为:byte,char,short(这三个平级)-->int-->float-->long-->double

  自动类型转换:从低级别到高级别,系统自动转的;

  强制类型转换:什么情况下使用?把一个高级别的数赋给一个别该数的级别低的变量;

  运算符号:

  1)、算术运算符。

  +-*/%%:任何整数模2不是0就是1,所以只要改变被模数就可以实现开关运算。

  +:连接符。

  ++,--

  2)、赋值运算符。

  =+=-=*=/=%=

  3)、比较运算符。

  特点:该运算符的特点是:运算完的结果,要么是true,要么是false。

  4)、逻辑运算符。

  &|^!&&||

  逻辑运算符除了!外都是用于连接两个boolean类型表达式。

  &:只有两边都为true结果是true。否则就是false。

  |:只要两边都为false结果是false,否则就是true

  ^:异或:和或有点不一样。

  两边结果一样,就为false。

  两边结果不一样,就为true.

  &和&&区别:&:无论左边结果是什么,右边都参与运算。

  &&:短路与,如果左边为false,那么右边不参数与运算。

  |和||区别:|:两边都运算。

  ||:短路或,如果左边为true,那么右边不参与运算。

  5)、位运算符:用于操作二进制位的运算符。

  &|^

  <<>>>>>(无符号右移)

  练习:对两个变量的数据进行互换。不需要第三方变量。

  inta=3,b=5;-->b=3,a=5;

  a=a+b;a=8;

  b=a-b;b=3;c

  a=a-b;a=5;

  a=a^b;//

  b=a^b;//b=a^b^b=a

  a=a^b;//a=a^b^a=b;

  练习:高效的算出2*8------------------>位移运算的考验,java基础面试中它的曝光率不低哦

  5,语句

  Ifswitchdowhilewhilefor

  这些语句什么时候用?

  1)、当判断固定个数的值的时候,可以使用if,也可以使用switch。

  但是建议使用switch,效率相对较高。

  switch(变量){

  case值:要执行的语句;break;

  …

  default:要执行的语句;

  }

  工作原理:用小括号中的变量的值依次和case后面的值进行对比,和哪个case后面的值相同了

  就执行哪个case后面的语句,如果没有相同的则执行default后面的语句;

  细节:1):break是可以省略的,如果省略了就一直执行到遇到break为止;

  2):switch后面的小括号中的变量应该是byte,char,short,int四种类型中的一种;

  3):default可以写在switch结构中的任意位置;如果将default语句放在了第一行,则不管expression与case中的value是否匹配,程序会从default开始执行直到第一个break出现。

  2)、当判断数据范围,获取判断运算结果boolean类型时,需要使用if。

  3)、当某些语句需要执行很多次时,就用循环结构。

  while和for可以进行互换。

  区别在于:如果需要定义变量控制循环次数。建议使用for。因为for循环完毕,变量在内存中释放。

  break:作用于switch,和循环语句,用于跳出,或者称为结束。

  break语句单独存在时,下面不要定义其他语句,因为执行不到,编译会失败。当循环嵌套时,break只跳出当前所在循环。要跳出嵌套中的外部循环,只要给循环起名字即可,这个名字称之为标号。

  代码片段:

  z://for循环标号

  for(intx=0;x<3;x++){

  for(inty=0;y<2;y++){

  //不带标号的就是结束整个循环体的作用,在那个循环内部就结束哪个循环

  if(x==1)break;

  //带标号跳过break后面的语句,回到标号位置的循环,继续该循环下次的条件判断,

  //已决定是否执行该循环体

  if(x==2&&y==1)breakz;

  }

  }

  continue:只作用于循环结构,继续循环用的。

  作用:结束本次循环,继续下次循环。该语句单独存在时,下面不可以定义语句,执行不到。

  6,函数:

  为了提高代码的复用性,可以将其定义成一个单独的功能,该功能的体现就是java中的函数。函数就是体现之一。

  java中的函数的定义格式:

  修饰符返回值类型函数名(参数类型形式参数1,参数类型形式参数1,…){

  执行语句;

  return返回值;

  }

  当函数没有具体的返回值时,返回的返回值类型用void关键字表示。

  如果函数的返回值类型是void时,return语句可以省略不写的,系统会帮你自动加上。

  return的作用:结束函数。结束功能。

  如何定义一个函数?

  函数其实就是一个功能,定义函数就是实现功能,通过两个明确来完成:

  1)、明确该功能的运算完的结果,其实是在明确这个函数的返回值类型。

  2)、在实现该功能的过程中是否有未知内容参与了运算,其实就是在明确这个函数的参数列表(参数类型&参数个数)。

  函数的作用:

  1)、用于定义功能。

  2)、用于封装代码提高代码的复用性。

  注意:函数中只能调用函数,不能定义函数。

  主函数:

  1)、保证该类的独立运行。

  2)、因为它是程序的入口。

  3)、因为它在被jvm调用。

  函数定义名称是为什么呢?

  答:1)、为了对该功能进行标示,方便于调用。

  2)、为了通过名称就可以明确函数的功能,为了增加代码的阅读性。

  重载的定义是:在一个类中,如果出现了两个或者两个以上的同名函数,只要它们的参数的个数,或者参数的类型不同,即可称之为该函数重载了。

  如何区分重载:当函数同名时,只看参数列表。和返回值类型没关系。

  7,数组:

  用于存储同一类型数据的一个容器。好处:可以对该容器中的数据进行编号,从0开始。数组用于封装数据,就是一个具体的实体。

  如何在java中表现一个数组呢?两种表现形式。

  1)、元素类型[]变量名=new元素类型[元素的个数];

  2)、元素类型[]变量名={元素1,元素2...};

  元素类型[]变量名=new元素类型[]{元素1,元素2...};

  ---------------------------------------------------------

  //二分查找法。必须有前提:数组中的元素要有序。

  publicstaticinthalfSeach_2(int[]arr,intkey){

  intmin,max,mid;//定义最小,最大,中间数

  min=0;//最小为0

  max=arr.length-1;//最大为数组的长度-1

  mid=(max+min)>>1;//(max+min)/2;//中间数为最大加最小除以2

  while(arr[mid]!=key){//如果数组中間值不等于key

  if(key>arr[mid]){//如果key>中間值

  min=mid+1;

  }

  elseif(key

  max=mid-1;

  if(max

  return-1;

  mid=(max+min)>>1;

  }

  returnmid;

  }

  知识拓展:

  java内存。

  1:寄存器。2:本地方法区。3:方法区。4:栈。5:堆。

  栈:存储的都是局部变量(函数中定义的变量,函数上的参数,语句中的变量);

  只要数据运算完成所在的区域结束,该数据就会被释放。

  堆:用于存储数组和对象,也就是实体。啥是实体呢?就是用于封装多个数据的。

  1:每一个实体都有内存首地址值。

  2:堆内存中的变量都有默认初始化值。因为数据类型不同,值也不一样。

  3:垃圾回收机制。

相关文章
|
2月前
|
Java 开发者
重学Java基础篇—Java类加载顺序深度解析
本文全面解析Java类的生命周期与加载顺序,涵盖从加载到卸载的七个阶段,并深入探讨初始化阶段的执行规则。通过单类、继承体系的实例分析,明确静态与实例初始化的顺序。同时,列举六种触发初始化的场景及特殊场景处理(如接口初始化)。提供类加载完整流程图与记忆口诀,助于理解复杂初始化逻辑。此外,针对空指针异常等问题提出排查方案,并给出最佳实践建议,帮助开发者优化程序设计、定位BUG及理解框架机制。最后扩展讲解类加载器层次与双亲委派机制,为深入研究奠定基础。
95 0
|
2月前
|
缓存 安全 Java
java面试-基础语法与面向对象
本文介绍了 Java 编程中的几个核心概念。首先,详细区分了方法重载与重写的定义、发生阶段及规则;其次,分析了 `==` 与 `equals` 的区别,强调了基本类型和引用类型的比较方式;接着,对比了 `String`、`StringBuilder` 和 `StringBuffer` 的特性,包括线程安全性和性能差异;最后,讲解了 Java 异常机制,包括自定义异常的实现以及常见非检查异常的类型。这些内容对理解 Java 面向对象编程和实际开发问题解决具有重要意义。
|
7月前
|
Java 开发工具 Android开发
Kotlin语法笔记(26) -Kotlin 与 Java 共存(1)
本系列教程笔记详细讲解了Kotlin语法,适合需要深入了解Kotlin的开发者。若需快速学习Kotlin,建议查看“简洁”系列教程。本期重点介绍了Kotlin与Java的共存方式,包括属性、单例对象、默认参数方法、包方法、扩展方法以及内部类和成员的互操作性。通过这些内容,帮助你在项目中更好地结合使用这两种语言。
98 1
|
2月前
|
设计模式 缓存 Java
重学Java基础篇—Java对象创建的7种核心方式详解
本文全面解析了Java中对象的创建方式,涵盖基础到高级技术。包括`new关键字`直接实例化、反射机制动态创建、克隆与反序列化复用对象,以及工厂方法和建造者模式等设计模式的应用。同时探讨了Spring IOC容器等框架级创建方式,并对比各类方法的适用场景与优缺点。此外,还深入分析了动态代理、Unsafe类等扩展知识及注意事项。最后总结最佳实践,建议根据业务需求选择合适方式,在灵活性与性能间取得平衡。
120 3
|
2月前
|
安全 IDE Java
重学Java基础篇—Java泛型深度使用指南
本内容系统介绍了Java泛型的核心价值、用法及高级技巧。首先阐述了泛型在**类型安全**与**代码复用**中的平衡作用,解决强制类型转换错误等问题。接着详细讲解了泛型类定义、方法实现、类型参数约束(如边界限定和多重边界)、通配符应用(PECS原则)以及类型擦除的应对策略。此外,还展示了泛型在通用DAO接口、事件总线等实际场景的应用,并总结了命名规范、边界控制等最佳实践。最后探讨了扩展知识,如通过反射获取泛型参数类型。合理运用泛型可大幅提升代码健壮性和可维护性,建议结合IDE工具和单元测试优化使用。
48 1
|
2月前
|
安全 IDE Java
重学Java基础篇—Java Object类常用方法深度解析
Java中,Object类作为所有类的超类,提供了多个核心方法以支持对象的基本行为。其中,`toString()`用于对象的字符串表示,重写时应包含关键信息;`equals()`与`hashCode()`需成对重写,确保对象等价判断的一致性;`getClass()`用于运行时类型识别;`clone()`实现对象复制,需区分浅拷贝与深拷贝;`wait()/notify()`支持线程协作。此外,`finalize()`已过时,建议使用更安全的资源管理方式。合理运用这些方法,并遵循最佳实践,可提升代码质量与健壮性。
86 1
|
2月前
|
运维 Cloud Native Java
postman发起post请求遇到报错:java.io.FileNotFoundException (文件名、目录名或卷标语法不正确。)
遇到bug报错,多猜可能的原因,控制变量反复测试,直至找到问题的关键,然后再思考如何解决或者回避。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来
|
4月前
|
存储 移动开发 算法
【潜意识Java】Java基础教程:从零开始的学习之旅
本文介绍了 Java 编程语言的基础知识,涵盖从简介、程序结构到面向对象编程的核心概念。首先,Java 是一种高级、跨平台的面向对象语言,支持“一次编写,到处运行”。接着,文章详细讲解了 Java 程序的基本结构,包括包声明、导入语句、类声明和 main 方法。随后,深入探讨了基础语法,如数据类型、变量、控制结构、方法和数组。此外,还介绍了面向对象编程的关键概念,例如类与对象、继承和多态。最后,针对常见的编程错误提供了调试技巧,并总结了学习 Java 的重要性和方法。适合初学者逐步掌握 Java 编程。
86 1
|
5月前
|
Java
java do while 的语法怎么用?
java do while 的语法怎么用?
152 3
|
6月前
|
Java 大数据 API
14天Java基础学习——第1天:Java入门和环境搭建
本文介绍了Java的基础知识,包括Java的简介、历史和应用领域。详细讲解了如何安装JDK并配置环境变量,以及如何使用IntelliJ IDEA创建和运行Java项目。通过示例代码“HelloWorld.java”,展示了从编写到运行的全过程。适合初学者快速入门Java编程。