热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

2021.3.30初见JAVA

初见JAVA(Day01记录)自己引自己。我觉得这一切都很有趣,很神奇,很有魅力

初见JAVA (Day01记录)

自己引自己。我觉得这一切都很有趣,很神奇,很有魅力

我到处查资料,查这查那,到处寻找,然后将我的顺序和归纳记下来,可能有不对的地方,无论是内容还是学习道路,但谁不是摸着石头过来的呢。起初我是用记事本做笔记,但是没有图片结合,所以硬生生在记事本里手打一遍,然后IDEA里手打一遍,最后手机备忘录里再次手打一遍。相当于我一天在晚上回顾时梳理了三遍。经群里他人推荐Markdown,查询并快速学习了Typora的基操,然后开始转博客记录,希望这些从无到有的过程,永远敲打着那些独自的时光,回响将长久存在。

一.标识符


1. 定义

标识符就是用于给 Java 程序中变量、类、方法等命名的符号。

2. 规则



  1. 标识符可以由字母、数字、下划线(_)、美元符($)组成,但不能包含 @、%、空格等其它特殊字符,不能以数字开头。譬如:123name 就是不合法的

  2. 标识符不能是 Java 关键字和保留字( Java 预留的关键字,以后的升级版本中有可能作为关键字),但可以包含关键字和保留字。如:不可以使用 void 作为标识符,但是 Myvoid 可以

  3. 标识符是严格区分大小写的。 所以涅,一定要分清楚 imooc 和 IMooc 是两个不同的标识符哦!标识符的命名最好能反映出其作用,做到见名知意。

  4. 哪些关键词呢:

2021.3.30初见JAVA - 文章图片

二.变量


1. 变量的命名规则

如图:

2021.3.30初见JAVA - 文章图片

2. 保持的习惯



  1. 变量名由多单词组成时,第一个单词的首字母小写,其后单词的首字母大写,俗称骆驼式命名法(也称驼峰命名法),如 myAge


  2. 变量命名时,尽量简短且能清楚的表达变量的作用,做到见名知意。如:定义变量名 stuName 保存“学生姓名”信息


PS: Java 变量名的长度没有限制,但 Java 语言是区分大小写的,所以 price 和 Price 是两个完全不同的变量哦!

3. 使用场景举例

2021.3.30初见JAVA - 文章图片

三.数据类型


1. 基本数据类型与引用数据类型,如下图:

2021.3.30初见JAVA - 文章图片

2. 常用的一些基本数据类型

2021.3.30初见JAVA - 文章图片

因为我看到这儿觉得有些真的搞不清区别,所以查询了char与String的区别,float与double的区别


  1. char表示字符,定义时用单引号,只能存储一个字符,如char c='x';

    而String表示字符串,定义时用双引号,可以存储一个或多个字符,如String name="tom";

    char是基本数据类型,而String 是一个类,具有面向对象的特征,可以调用方法,如name.length()获取字符串的长度。


  2. float是单精度浮点数,内存分配4个字节,占32位,有效小数位6-7位

    double是双精度浮点数,内存分配8个字节,占64位,有效小数位15位

    java中默认声明的小数是double类型的,如double d=4.0

    如果声明: float x = 4.0则会报错,需要如下写法:float x = 4.0f 或者 float x = (float)4.0 ,其中4.0f后面的f只是为了区别double,并不代表任何数字上的意义

    对编程人员来而,double 和 float 的区别是double精度高,但double消耗内存是float的两倍,且double的运算速度较float稍慢


由于我在一道题里随机试数值的时候,恰巧卡了int类型的上限,导致输不出来正确的结果,所以又查了int类型

2021.3.30初见JAVA - 文章图片

3. 常量



  1. 什么是常量,是不是我们数学里那种确定的数?所谓常量,我们可以理解为是一种特殊的变量,它的值被设定后,在程序运行过程中不允许改变。

    语法:final 常量名 = 值;


  2. 程序中使用常量可以提高代码的可维护性。例如,在项目开发时,我们需要指定用户的性别,此时可以定义一个常量 SEX,赋值为 "男",在需要指定用户性别的地方直接调用此常量即可,避免了由于用户的不规范赋值导致程序出错的情况。


  3. 常量名一般使用大写字符!

    final char SEX='男';

    final String NAME="张三";

    final int NUM=2021;

    等等



4. 自动类型转换条件



  1. 目标类型能与源类型兼容,如 double 型兼容 int 型,但是 char 型不能兼容 int 型

  2. 目标类型大于源类型,如 double 类型长度为 8 字节, int 类型为 4 字节,因此 double 类型的变量里直接可以存放 int 类型的数据,但反过来就不可以了


5. 强制类型转换

举个例子:

double avg1=65.7; int avg2=(int)avg1; System.out.println(avg1); System.out.println(avg2);

就不详细写了,截取举这个简单例子,可以看出将double型强制转换为了int型,输出结果为:

avg1=65.7

avg2=65


  1. 不难看出,强制转换语法为:(数据类型)数值

  2. 可以看出,转换后直接去掉了小数位。说明精度会出现误差,那么数据就有丢失。所以考虑清楚。


四.运算符


1. 常用赋值运算符

如图:

2021.3.30初见JAVA - 文章图片

2. 常用算数运算符

如图:

2021.3.30初见JAVA - 文章图片

3. 常用比较运算符

如图:

2021.3.30初见JAVA - 文章图片


  • 比较运算符用于判断两个数据的大小,例如:大于、等于、不等于。比较的结果是一个布尔值( true 或 false )

  • <、> 、 >= 、<= 只支持左右两边操作数是数值类型

  • == 、 != 两边的操作数既可以是数值类型,也可以是引用类型


4. 常用逻辑运算符

如图:

2021.3.30初见JAVA - 文章图片


  • 当使用逻辑运算符时,我们会遇到一种很有趣的“短路”现象。

    譬如:( one > two ) && ( one two 运行结果为 false , 则系统就认为已经没有必要执行右侧的 one
    同理,在( one > two ) || ( one

5. 条件运算符



  1. 条件运算符( ? : )也称为 “三元运算符”

  2. 语法形式:布尔表达式 ? 表达式1 :表达式2

  3. 运算过程:如果布尔表达式的值为 true ,则返回 表达式1 的值,否则返回 表达式2 的值

    举例:

    public class HelloWorld{ public static void main(String[] args){ int score=68; //定义并赋值考试结果score为68, String mark=(68>=60)?"及格":"不及格"; //判断,如果大于等于60,则为及格,反之不及格 System.out.println("考试结果如何:"+mark); } }

    考试结果如何:及格


6. 运算符的优先级

如图:

2021.3.30初见JAVA - 文章图片

7. 注释

一般来说,对于一份规范的程序源代码而言,注释应该占到源代码的 1/3 以上。因此,注释是程序源代码的重要组成部分,一定要加以重视!


  1. Java 中注释有三种类型:

单行注释:// 注释内容

多行注释/* 注释内容 */

文档注释/** 注释内容 */


  1. 被注释的代码块在程序运行时是不会被执行的


  2. 我们可以通过 javadoc 命令从文档注释中提取内容,生成程序的 API 帮助文档。

    PS:使用文档注释时还可以使用 javadoc 标记,生成更详细的文档信息:

    @author 标明开发该类模块的作者

    @version 标明该类模块的版本

    @see 参考转向,也就是相关主题

    @param 对方法中某参数的说明

    @return 对方法返回值的说明

    @exception 对方法可能抛出的异常进行说明



以上是我第一天的内容



推荐阅读
  • Java太阳系小游戏分析和源码详解
    本文介绍了一个基于Java的太阳系小游戏的分析和源码详解。通过对面向对象的知识的学习和实践,作者实现了太阳系各行星绕太阳转的效果。文章详细介绍了游戏的设计思路和源码结构,包括工具类、常量、图片加载、面板等。通过这个小游戏的制作,读者可以巩固和应用所学的知识,如类的继承、方法的重载与重写、多态和封装等。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • HDU 2372 El Dorado(DP)的最长上升子序列长度求解方法
    本文介绍了解决HDU 2372 El Dorado问题的一种动态规划方法,通过循环k的方式求解最长上升子序列的长度。具体实现过程包括初始化dp数组、读取数列、计算最长上升子序列长度等步骤。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 阿,里,云,物,联网,net,core,客户端,czgl,aliiotclient, ... [详细]
  • C# 7.0 新特性:基于Tuple的“多”返回值方法
    本文介绍了C# 7.0中基于Tuple的“多”返回值方法的使用。通过对C# 6.0及更早版本的做法进行回顾,提出了问题:如何使一个方法可返回多个返回值。然后详细介绍了C# 7.0中使用Tuple的写法,并给出了示例代码。最后,总结了该新特性的优点。 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 本文介绍了使用kotlin实现动画效果的方法,包括上下移动、放大缩小、旋转等功能。通过代码示例演示了如何使用ObjectAnimator和AnimatorSet来实现动画效果,并提供了实现抖动效果的代码。同时还介绍了如何使用translationY和translationX来实现上下和左右移动的效果。最后还提供了一个anim_small.xml文件的代码示例,可以用来实现放大缩小的效果。 ... [详细]
  • PHP图片截取方法及应用实例
    本文介绍了使用PHP动态切割JPEG图片的方法,并提供了应用实例,包括截取视频图、提取文章内容中的图片地址、裁切图片等问题。详细介绍了相关的PHP函数和参数的使用,以及图片切割的具体步骤。同时,还提供了一些注意事项和优化建议。通过本文的学习,读者可以掌握PHP图片截取的技巧,实现自己的需求。 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
author-avatar
人生-顺势而为
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有