JavaSE——Java基础语法(二进制、变量、方法(函数)、运算符、转义字符)

第2节 基础语法

一、二进制

1.1 二进制介绍

计算机中的数据都以二进制数字保存。

二进制 :逢二进一,即只有0、1两个值。如十进制的10在计算机内保存为二进制的1010。

计算机中信息的存储单位:

  • 位(Bit):表示一个二进制数码0或1,是计算机存储处理信息的最基本的单位。

  • 字节(Byte):一个字节由8个位组成,它表示作为一个完整处理单位的8个二进制数码。

1.2 补码

事实上,计算机内的二进制数值是以补码形式表示的。

补码:

  • 正数的补码:就是它本身;

  • 负数的补码:将该数的绝对值的二进制形式,按位取反再加1。

在这里插入图片描述

由此可知,二进制补码数值的最高位(最左位)是符号位:0为正数,1为负数。

使用补码的主要原因

使用补码,可以将符号位和其他位统一处理;同时,减法也可以按加法来处理。另外,两个用补码表示的数相加时,如果最高位有进位,则进位被舍弃。

1.3 二进制和十进制之间的互换

二进制数转换成十进制数

按权相加:把二进制数首先写成加权系数展开式,然后按十进制加法规则求和。

在这里插入图片描述

十进制转换成二进制

整数部分:除2取余,逆序排列

小数部分:乘2取整,顺序排列

在这里插入图片描述

1.4 十六进制

二进制表示法太冗长,所以在程序中一般喜欢用十六进制。

十六进制 :基数为十六,逢十六进一。它用ABCDEF表示10-15.

Java中十六进制数据要以0x或0X开头,如0x23D。

十六进制转换成二进制只需将每个十六进制数字替换为相对应的四个二进制位即可。

     二进制 十六进制

在这里插入图片描述

1.5 八进制

八进制:基数为八。

Java中八进制数据要以0开头,如0123.

八进制转换成二进制:只需将每个八进制数字替换为相对应的三个二进制位即可。

现在的计算机系统很少用八进制了。

在这里插入图片描述

二、变量

2.1 变量概述

变量 :系统为程序分配的一块内存单元,用来存储各种类型的数据,由于该存储单元中的数据可以发生改变,因此得名为“变量”。

变量分类:

  • 按所属的数据类型划分:

    - 基本数据类型变量

    - 引用数据类型变量

  • 按被声明的位置划分:

    - 局部变量:方法或语句块内部定义的变量

    - 成员变量:方法外部、类的内部定义的变量

特别注意:类的外面不能有变量的声明。

2.2 数据类型与变量定义、使用

2.2.1 数据类型

   由于变量记录的数据内容大小不同,导致所需的存储单元大小不同,在Java语言中使用数据类型的概念加以描述。

在这里插入图片描述

在这里插入图片描述

2.2.2 标识符

在这里插入图片描述

在这里插入图片描述

关键字大全:

Java中有一些赋予特定含义,有专门用途的字符串称为关键字(keyword),全部都是小写。

在这里插入图片描述

在这里插入图片描述

命名规范: 软性建议

  • 类名规范:首字母大写,后面每个单词首字母大写(大驼峰式)。

  • 方法名规范: 首字母小写,后面每个单词首字母大写(小驼峰式)。

  • 变量名规范:全部小写

2.2.3 变量定义、使用

public class variable {public static void main(String[] args) {//创建变量的语法:数据类型 变量名 = 初始化值;int a = 20;//创建变量暂不赋值的语法:数据类型 变量名;int b;//创建字符串变量String s = "abcdef";//重新给变量赋值的语法:变量名 = 值;a = 30;System.out.println(a);}
}

变量调换小练习:

public class variable2 {/*** 任务:*      将下面变量 a 和变量 b 的值通过运算,进行调换*/public static void main(String[] args) {int a = 10;int b = 20;//通过第三方变量的方式,进行了替换int c = 0;//1. 使用第三方变量c 记录a的值c = a;//2. 将变量b的值给aa = b;//3. 将变量c记录的a原来的值赋给bb = c;System.out.println("a="+a);System.out.println("b="+b);}
}

2.3 数据类型转换

boolean类型不能转换成任何其他数据类型。

自动类型转换 :容量小的类型自动转换成容量大的数据类型

在这里插入图片描述

强制类型转换 :容量大的类型转换成容量小的数据类型时,要加上强制类型转换符

在这里插入图片描述

public class data_type_conversion {public static void main(String[] args) {//自动类型转换byte b = 127;int i = b;System.out.println(i);//强制类型转换,加上强制转换符b = (byte)i;  //强制转换有可能造成精度丢失System.out.println(b);}
}

2.4 float、long、char变量定义

public class float_var {public static void main(String[] args) {float f1 = 10;  //右边的10默认是int类型//1. float 类型变量在定义时需注意,我们直接写出的浮点数字,默认类型为double//会提示需要强制转换,可以在浮点数字后面加上f/F,来表示写出的数字类型是floatfloat f2 = 10.1f;//2. long类型变量定义需注意,直接写出的整形数字,默认类型是int//当值过大时会显示出错。//解决:在整形数字后面加入l/L,来表示写出的整形数字是long类型。long l1 = 2200000000L;//3. char类型定义:单引号括住,内放一个字符//char类型变量可以进行数字运算char c1 = 'A';System.out.println(c1);System.out.println((int)c1);System.out.println(++c1);System.out.println(++c1);}
}

ASCII码表:

在这里插入图片描述

2.5 变量作用域

public class variable_scope {//变量的作用域//代码分为结构定义语句和功能执行语句,功能执行语句必须以英文分号结尾public static void main(String[] args) {int a = 10;}public static void say() {int a = 20;}
}
public class variable_scope {//变量的作用域//代码分为结构定义语句和功能执行语句,功能执行语句必须以英文分号结尾public static void main(String[] args) {{int a = 10;}{int b = 20;}{//会报错System.out.println(a+b);}}
}
public class variable_scope {//变量的作用域//代码分为结构定义语句和功能执行语句,功能执行语句必须以英文分号结尾public static void main(String[] args) {int a = 10;int b = 20;{//不会报错System.out.println(a+b);}}
}

三、方法

3.1 概述

方法用于封装一段特定的逻辑功能。主要要素有:权限修饰符、方法名、参数列表和返回值。

3.2 格式

在这里插入图片描述

3.3 权限修饰符详解

规定了方法或类等的使用范围

在这里插入图片描述

3.4 返回值详解

方法调用结束后可以返回一个数据,称之为返回值。

方法在声明时必须指定返回值的类型。

通过 return 语句返回, return 语句的作用在于结束方法且将数据返回。

如果方法没有返回值(即方法不需要返回数据) , 需将返回值类型声明为 void。

3.5 参数列表详解

方法的参数列表: 在调用时传递给方法, 需要被方法处理的数据。

在方法定义时, 需要声明该方法所需要的参数变量。

在方法调用时, 会将实际参数值传递给方法的参数变量。 必须保证传递参数的类型和个数符合方法的声明。

在这里插入图片描述

下面方法中的static后续再学习

public class function {public static void main(String[] args) {say();System.out.println("----------");say();}public static void say() {System.out.println("勇敢牛牛,不怕困难。");}
}
public class function2 {public static void main(String[] args) {int sum = sum(10, 20);System.out.println(sum);}public static int sum(int x, int y) {int s = x + y;return s;}
}

四、运算符

4.1 算数运算符

在这里插入图片描述

在这里插入图片描述

4.2 赋值运算符

赋值运算符作用是将一个值赋给一个变量, 运算顺序从右到左

在这里插入图片描述

4.3 关系运算符

关系运算符作用是比较两边的操作数, 结果总是 boolean 型的。

在这里插入图片描述

4.4 逻辑运算符

逻辑运算符用于对 boolean 型结果的表达式进行运算, 运算结果总是 boolean 型, 后面结合条件结构讲解。

在这里插入图片描述

4.5 字符串连接运算符“+”

String s=“He” + “llo”; 结果"Hello"

"+"除了可用于字符串相连接, 也能将字符串与其它的数据类型相连成一个新的字符串。

如: String s=“x” + 123; 结果"x123

public class operator {public static void main(String[] args) {String text1 = "Hello";String text2 = "smile";// + 左右只要有一边是字符串,就是字符串连接符,而不是数值加法运算符String text3 = text1 + text2;System.out.println(text3);}
}

4.6 三目运算符

X ? Y : Z 

X 为 boolean 类型表达式, 先计算 x 的值, 若为 true, 整个三目运算的结果为表达式 y 的值, 否则整个运算结果为表达式 z 的值。

例:

int score = 75;

String type = score >=60 ? “及格” : “不及格”;

public class operator {public static void main(String[] args) {// boolean结果表达式?表达式1:表达式2int a = 10;int b = 20;System.out.println(a < b ? "a小于b" : "a大于等于b");}
}

4.7 操作符优先级

运算符的优先次序

表达式的运算按照运算符的优先顺序从高到低进行,同级运算符从左到右进行:

在这里插入图片描述

在这里插入图片描述

五、转义字符

   所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示。而C中定义了一些字母前加"\"来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/491567.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

我们离爱因斯坦想了解的“上帝的思想”,还有多远?

来源&#xff1a;原理1925年&#xff0c;爱因斯坦在与一位名为Esther Salaman的年轻学生一同散步的途中&#xff0c;分享了他的一个核心指导思想&#xff1a;“我想知道上帝是如何创造这个世界的。我对这个或那个现象&#xff0c;这个或那个元素的能谱不感兴趣。我要知道的是他…

城市大脑与智慧城市前沿趋势 主题论坛 |未来科技大讲堂 第12期

近年来&#xff0c;智慧城市建设出现新的动向&#xff0c;包括城市大脑、城市云脑、城市超级大脑、城市超脑、城市神经网络等“泛城市大脑”概念也大量涌现。杭州、上海、北京、广州等城市各自提出和开展了不同城市大脑建设方案&#xff0c;其中上海市开展了以建设城市神经元系…

JavaSE——数组基础(创建格式、下标、获取长度、常见问题、多维数组)

第4节 数组 一、概述 数组是相同数据类型的多个数据的容器。这些元素按线性顺序排列。所谓线性顺序是指除第一个元素外&#xff0c;每一个元素都有唯一的前驱元素&#xff1b;除最后一个元素外&#xff0c;每一个元素都有唯一的后继元素。&#xff08;“简单理解就是&#xff…

MATLAB将颜色反转

如下图&#xff1a; 若需要将其转换为灰度图&#xff0c;则用colormap(gray)&#xff1a; 但若想将上面那幅灰度图颜色反转&#xff0c;即白色部分变黑&#xff0c;黑色部分变白&#xff0c;则用colormap(flipud(gray))&#xff1a;

AR/VR逐渐回暖 联合安防步入未来

来源&#xff1a;VR每日必看2019年&#xff0c;AR/VR市场在走过萌芽、兴起、狂热与泡沫破灭之后&#xff0c;开始逐渐复苏&#xff0c;相关芯片、屏幕、传感器等关键零部件也取得了不少进展&#xff0c;行业有望再次迎来高速增长。相较于C端市场&#xff0c;在B端&#xff0c;A…

JavaSE——面向对象基础(思想、类与对象、构造方法、重载、匿名对象)

第1节 面向对象基础 一、面向对象思想 1.1 概述 面向对象&#xff08;Object Oriented&#xff09;是软件开发方法。面向对象的概念和应用已超越了程序设计和软件开发&#xff0c;是一种对现实世界理解和抽象的方法&#xff0c;是计算机编程技术发展到一定阶段的产物。面向对…

谷歌发布颠覆性研究:不训练不调参,AI自动构建超强网络,告别炼丹一大步...

来源&#xff1a;凹非寺 机器学习全靠调参&#xff1f;这个思路已经过时了。谷歌大脑团队发布了一项新研究&#xff1a;只靠神经网络架构搜索出的网络&#xff0c;不训练&#xff0c;不调参&#xff0c;就能直接执行任务。这样的网络叫做WANN&#xff0c;权重不可知神经网络。它…

JavaSE——面向对象进阶(封装、this、static、代码块、包、权限修饰符、main方法详解)

第2节 面向对象进阶 一、封装与private 概述&#xff1a; 封装的意义在于保护或者防止代码&#xff08;数据&#xff09;被我们无意中破坏。保护成员属性&#xff0c;不让类以外的程序直接访问和修改。封装原则&#xff1a; 隐藏对象的属性和实现细节&#xff0c;仅对外公开访…

孙正义:互联网流量将转化为智能AI流量,我的时代终于来了

“今后&#xff0c;增加软银集团的股东价值的成长引擎是什么呢&#xff1f;从上面的营业利润的增长来看&#xff0c;SVF&#xff08;软银愿景基金&#xff09;贡献了80%。SVF是SoftBank2.0最重要的经营引擎。首先&#xff0c;大约2年时间&#xff0c;SVF的投资对象已经超过了80…

JavaSE——面向对象高级(继承、final关键字、抽象类与接口、多态、Object类、内部类、包装类、可变参数)

第3节 面向对象高级 一、继承 1.1 概述和使用 继承是java面向对象编程技术的一块基石&#xff0c;因为它允许创建分等级层次的类。继承就是子类继承父类的特征和行为&#xff0c;使得子类对象&#xff08;实例&#xff09;具有父类的实例域和方法&#xff0c;或子类从父类继…

word的公式后加编码后自动变小

如图所示&#xff0c;在公式后面加编码后公式也变小了&#xff1a; 加编码前&#xff1a; 加编码后&#xff1a; 采用样式分隔符&#xff08;Ctrlaltenter&#xff09;即可解决&#xff0c;输完公式后&#xff0c;按enter转行&#xff0c;输入你要的东西&#xff08;编号什么的…

人工智能70年:科幻和现实的交融

文章素材来源&#xff1a;BBC图片来源&#xff1a;网络【导读】人类飞跑着进入人工智能&#xff08;AI&#xff09;时代。粗略估算现在人们日常生活中有20多种寻常的AI&#xff0c;从垃圾邮件过滤器到叫车软件。AI被分为两类&#xff0c;这些执行具体任务的AI属于“弱人工智能”…

vim 插件之commentary

下载地址 http://www.vim.org/scripts/script.php?script_id3695 如果是使用vundle来管理这个插件的话&#xff0c;你可以添加如下配置 tpope/vim-commentary 这个插件可以根据你当前打开的文件类型&#xff0c;来选择相应的注释方式。 使用的命令是 \\位移 比如&#xff0c;…

JavaSE——异常处理(异常简介、try-catch-finally、throws、throw)

第4节 异常处理 异常处理学习的目标&#xff1a; 明确说明是异常&#xff08;重点&#xff09; 能辨识出常见的异常及其含义&#xff08;熟悉&#xff09; 理解异常产生的原理&#xff08;了解&#xff09; 能处理异常&#xff08;重点&#xff09; 能够自定义异常&#x…

专访「算法之父」Michael Saunders:人工智能未来的突破点可能在自动驾驶

来源&#xff1a;雷锋网 AI 科技评论雷锋网 AI 科技评论按&#xff0c;4 月 25 日&#xff0c;在由涂鸦智能联合知名财经媒体《新财富》、人工智能领域知名媒体《全球智能化商业》共同举办的「全球智能化商业峰会」上&#xff0c;斯坦福大学荣誉教授、新西兰皇家学会荣誉成员、…

从指南针到北斗:中国导航系统促进世界互联互通

6月11日&#xff0c;在维也纳联合国国际会议中心&#xff0c;联合国外层空间事务办公室主任迪皮波&#xff08;右&#xff09;参观中国古代计时装置水运仪象台。本报记者 冯雪珺摄来源&#xff1a;人民日报核心阅读中国卫星导航系统管理办公室在维也纳联合国国际会议中心举办“…

JavaSE——常用类库(上)(泛型、Objects、Math、ArraysBigDecimal类)

第1节 常用类库&#xff08;上&#xff09; 面向对象更多是思想上的东西&#xff0c;常用类库更多是工具上的东西&#xff0c;熟能生巧&#xff0c;多整理笔记。 一、泛型 1.1 概述 泛型&#xff0c;即“参数化类型”。就是将类型由原来具体类型进行参数化 &#xff0c;类似…

朗兰兹纲领:关于数学大一统的伟大构想

麦克斯韦方程组来源&#xff1a;今日头条我们经常聊到物理学家都在追寻物理学的大一统&#xff0c;物理学的第一次大一统是麦克斯韦的麦克斯韦方程组&#xff0c;将电学与磁学相统一&#xff0c;建立了电磁学理论&#xff0c;后来&#xff0c;爱因斯坦想继续完成麦克斯韦未竟之…

JavaSE——常用类库(下)(Date、DateFormat、Calendar、System类)

第1节 常用类库&#xff08;下&#xff09; 六、java.util.Date Date类表示特定的时刻&#xff0c;精度为毫秒。 在JDK 1.1之前&#xff0c; Date类还有两个附加功能。 它允许将日期解释为年&#xff0c;月&#xff0c;日&#xff0c;小时&#xff0c;分钟和秒值。 它还允许…

世界隐形冠军比拼:德国1307家、美国366家、中国68家

来源&#xff1a;股权投资论坛目录一、隐形冠军的概念二、隐形冠军的四个特征三、隐形冠军为何隐形四、隐形冠军到底有多牛五、如何成为隐形冠军六、中国隐形冠军多吗1隐形冠军的概念“隐形冠军”这个概念是赫尔曼西蒙教授提出的。1986年&#xff0c;他在研究德国出口数据时发现…