JAVA——从基础学起(一)Java语言基础
一 Java语言基础
1.1Java主类结构
(1)Java是面向对象的编程语言,基本组成单元是类,类体中包括属性和方法两部分。每个应用程序都需要含有一个main方法,含有main方法的类叫做主类。
package com.mw
public class First{static String s1 = "你好Java。"; public static void main(String [] args){String s2 = "我是MW.";System.out.println(s1 + s2);
}
}
(2)局部变量和成员变量
将类的属性称作为全局变量或成员变量,将方法中的属性称为局部变量。
1.2 基本数据类型
1.2.1 整数类型 (int byte short long)
用于存储整数值。八进制整数值须以0开头,十进制整数值不能以0开头,十六进制整数值须以0x开头。如:
int a = 10002;
int b = 0123;
int c = 0x25bc
1.2.2 浮点类型(float double)
1.2.3 字符类型
(1)char 型,用于存储单个字符,占用16位两字节空间(java使用Unicode编码),定义chair型变量时使用单引号 ‘ ’。
如:
char ch1 = 'a';
char ch2 = 97;
(2)转义字符,是一种特殊的字符变量,以 “ \ ”开头,后跟一个或多个字符。
转义字符 | 含义 |
---|---|
\ddd | 1-3位八进制数据所表示的字符,如\123 |
\udddd | 1-4位十六进制数据所表示的字符,如\u1234 |
\’ | 表示单引号‘ |
\\ | 表示反斜杠字符\ |
\t | 垂直制表符 |
\r | 回车 |
\n | 换行 |
\b | 退格 |
\f | 换页 |
char ch1 = '\\';
char ch2 = '\u4562'
1.2.4 布尔类型
boolean 类型的取值只有true 和 false
1.3常量与变量
程序执行过程中值不能改变的量叫做常量,可以改变的量叫做变量
1.3.1 标识符和关键字
(1)标识符:Java规定标识符由字母,下划线_,$和数字组成。第一个字符不能是数字且标识符不能是Java中的保留关键字。标识符严格区分大小写。
(2)关键字:是Java中已经被富赋予特定意义的单词,如 int ,boolean ,interface ,instanceof 等
1.3.2 声明变量
char ch ;
int a = 4 ;
1.3.3 声明常量
通常被称为final变量,在整个程序中只能被赋值一次,再次改变final变量的值编译器会报错。一般来说,常量值通常使用大写形式的单词定义:
final int ELEMENT_NOT_FOUND = 0;
static final int OUT_OF_BOUNCE = 0;
当final变量是成员变量时,需要在定义时就赋予初值。
1.3.4 变量的有效范围
指程序代码能够访问该变量的区域。
(1)成员变量:在整个类中有效
public class Test{int x = 45 ;static int y = 55 ;
}
x称为实例变量,y称为静态变量。静态变量由static关键词修饰,有效范围可以跨类,甚至可以达到整个应用程序范围之内。
(2)局部变量:在方法中声明的变量,包括方法参数,只在当前的代码块中有效。
局部变量的生命周期取决于方法,当方法被调用时,JVM为方法中的局部变量分配内存空间,方法调用结束,则内存空间被收回,该局部变量被销毁。
class Test2{int i = 2 ;public void testNum(){int i = 5;System.out.println(i);}
}
输出的i应为5,在方法内外声明标识符相同的变量时,方法外的变量相对于方法内的变量不可见,故成员变量 i 在testNum方法内无效。
1.4 运算符
1.4.1 赋值运算符 =
是二元运算符,处理时先取得右方表达式处理后的结果,复制给左边的表达式。因此运算顺序为从右到左。
1.4.2 算术运算符 + - * / %
注意,取余运算符只能应用于整型。
1.4.3 自增和自减运算符
是单目运算符,可以放在操作元前后
i--或i++
表示先参与运算,再自增或自减
++i或--i
表示先自增或自减,再参与运算
1.4.4 比较运算符 >,<,>=,<=,== ,!=
是二元运算符,比较运算符的运算结果是boolean型。
1.4.5 逻辑运算符 &&,&;||;!
注意:&&与运算符具有短路性质,而&具有非短路性质
1.4.6 位运算符 &,|,~,^,>>,<<,>>>
注意:移位运算符通常用于实现乘以或除以2^n的效果,由于计算机中数据是按照二进制代码形式存储,因此移位操作比乘法操作要节省时间。
如下面代码相当于实现1.5*Capacity的操作:
int Capacity += Capacity << 1 ;
1.4.7 三元运算符 a?b:c
一般用于简易判断,如取代if…else…流程
1.4.8 运算符优先级
(1)增量和减量运算
(2)算术运算
(3)比较运算
(4)逻辑运算
(5)赋值运算
1.5 数据类型转换
1.5.1 隐式类型转换
由低级类型向高级类型转换,由系统自动执行,不包括逻辑类型和字符类型。
byte<short<int<long<float<double
1.5.2 显式类型转换
当高精度的值赋给低精度的变量,发生显式类型转换,不过可能会导致精度损失。除boolean类型之外所有基本数据类型都可以进行显式类型转换。
int a ;
double b = 1.63;
a = (int) b;
当给一个变量赋值时,复制不可超过该变量可表示的数据的范围,否则需要进行显式类型转换
byte b = (byte) 129;
1.6代码注释和编码规范
1.6.1 代码注释
(1)单行注释 //
(2)多行注释 /**/,注意,多行注释中可以嵌套单行注释,但不可嵌套多行注释
(3)文档注释 /** */,当文档注释出现在声明之前时,会被Javadoc文档工具读取作为Javadoc文档内容。
1.6.2 编码规范
养成良好的编码习惯,形成自己的编码风格
多用注释,少用晦涩的语句。
第一节包括一些Java的语言基础,包括下一节的流程控制,是程序设计必须具备的基础知识点,将这些知识熟练掌握不光有助于Java语言的学习,对于学习其他语言来说也同样是非常有用的。
JAVA——从基础学起(一)Java语言基础相关推荐
- 零基础学Python--------第2章 Python语言基础
第2章 Python语言基础 2.1 Python语法特点 2.11注释 在Python中,通常包括3种类型的注释,分别是单行注释.多行注释和中文编码声明注释. 1.单行注释 在Python中,使用 ...
- 一起学Go吧! Go语言基础语法篇二
文章目录 前言 Go 语言指针 Go语言结构体 Go语言切片(Slice) Go 语言范围(Range) Go 语言Map(集合) Go 语言类型转换 Go 语言接口 Go 错误处理 Go并发 通道( ...
- 零基础学平面设计怎么掌握好基础
本文由:"学设计上兔课网"原创,图片素材来自网络,仅供学习分享 零基础学平面设计怎么掌握好基础?设计要有秩序的美感,使设计中的元素,包括色彩或构图等处于一种有条理.有规则.有某些共 ...
- 零基础学python知乎-零基础应该选择学习 java、php、前端 还是 python?
零基础先学习JAVA吧 在大家看之前,我要先声明两点. 1.由于我本人是Java后端开发出身,因此所推荐的学习内容是Java Web和Java后端开发的路线,非Java Web和Java后端开发的同学 ...
- 零基础学编程学java还是python-零基础学编程,Java和Python你pick谁?
点击播放 GIF 0.1M 作为世界上使用范围最广的编程语言,Java难免总是被拿来跟Python比较,而且,在编程语言的各种对战中,Python 与Java也是打得最热烈的. 如果你问一名Java程 ...
- java跳转控制语句有哪些_Java语言基础学习之流程控制语句和跳转控制语句实例分析...
本文主要向大家介绍了Java语言基础学习之流程控制语句和跳转控制语句实例分析,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. 一.流程控制语句 在一个程序执行的过程中,各条语句的执行顺 ...
- 零基础编程学python还是java_零基础学python还是java 二者有哪些区别
对于初学者来说,python相对比较简单.python的语法类似于伪代码或普通英语,不需要严格的代码结构,入门简单. 零基础适合python还是java 从语言本身来说,python是出了名的简洁.p ...
- JAVA该如何学?学习JAVA应该掌握哪些技术?
从零基础的角度来说,每一个 JAVA 工程师都是从零基础开始学的,他们并不是生来就会 JAVA:学习 JAVA 是一个漫长且煎熬的过程,因为 JAVA 的知识点很多,而且也不是很简单,需要你们花大量时 ...
- 没有语言基础可以学python_没有Python语言基础可以学习深度学习吗?
展开全部 Python学习路线.32313133353236313431303231363533e78988e69d8331333433643031 第一阶段Python基础与Linux数据库.这是P ...
- 零基础学python还是c语言-零基础学Python之前需要学c语言吗
Python本身是比较适合作为入门编程语言来学习的,一方面Python的语法结构比较简单清晰,实验也相对比较容易完成,这会逐渐增强初学者的学习信心,另一方面Python属于全场景编程语言,未来在很多领 ...
最新文章
- python有哪些常见的开发环境_Python集成开发环境有哪些
- deeplearning
- 特征图大小_新手向快速了解图神经网络
- Tensorflow C3D完成视频动作识别
- STM32F103单片机输出相位可调PWM波
- [android-wifi](7.1)漫游部分逻辑
- Delphi的子类化控件消息, 消息子类化
- 2 Django-2的路由层(URLconf)
- pyspark分类算法之梯度提升决策树分类器模型GBDT实践【gradientBoostedTreeClassifier】
- python贪心算法几个经典例子_python 贪心算法的实现
- 在JMP中拆分数据集有烦恼?这些实用妙招试试看!
- 12个偏微分方程常用的不等式
- Win10 安装美能达打印机驱动程序失败, 怎么也安装不了
- html5 扩展 cs6,Dreamweaver CS6提高了HTML5工具的效率
- EBU5502 Database Coursework Specifications
- ( 转)关于Android的nodpi,xhdpi,hdpi,mdpi,ldpi
- 从“半部电台”到“云监工” 天翼云助力红色电信启航新征程
- GIS功能区类型识别
- 如何有效的制定团队能力提升计划?
- 彻底理解并解决服务器出现大量TIME_WAIT - 第三篇
热门文章
- GaussianNetwork高斯网络
- Missing Marketing Icon - iOS Apps must include a 1024x1024px Marketing Icon in PNG format
- c语言编程中负1什么意思,C语言中的if(1)是什么意思啊
- Regulator子系统
- Update....FROM...
- 实现DNS主从复制、子域、转发、智能DNS
- android键盘顶起布局原理,android如何把键盘弹出不影响布局?
- Wayland协议解析 一 什么是Wayland
- com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known serve
- 3D人物移动和相机跟随_学习整理资料