一 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语言基础相关推荐

  1. 零基础学Python--------第2章 Python语言基础

    第2章  Python语言基础 2.1 Python语法特点 2.11注释 在Python中,通常包括3种类型的注释,分别是单行注释.多行注释和中文编码声明注释. 1.单行注释 在Python中,使用 ...

  2. 一起学Go吧! Go语言基础语法篇二

    文章目录 前言 Go 语言指针 Go语言结构体 Go语言切片(Slice) Go 语言范围(Range) Go 语言Map(集合) Go 语言类型转换 Go 语言接口 Go 错误处理 Go并发 通道( ...

  3. 零基础学平面设计怎么掌握好基础

    本文由:"学设计上兔课网"原创,图片素材来自网络,仅供学习分享 零基础学平面设计怎么掌握好基础?设计要有秩序的美感,使设计中的元素,包括色彩或构图等处于一种有条理.有规则.有某些共 ...

  4. 零基础学python知乎-零基础应该选择学习 java、php、前端 还是 python?

    零基础先学习JAVA吧 在大家看之前,我要先声明两点. 1.由于我本人是Java后端开发出身,因此所推荐的学习内容是Java Web和Java后端开发的路线,非Java Web和Java后端开发的同学 ...

  5. 零基础学编程学java还是python-零基础学编程,Java和Python你pick谁?

    点击播放 GIF 0.1M 作为世界上使用范围最广的编程语言,Java难免总是被拿来跟Python比较,而且,在编程语言的各种对战中,Python 与Java也是打得最热烈的. 如果你问一名Java程 ...

  6. java跳转控制语句有哪些_Java语言基础学习之流程控制语句和跳转控制语句实例分析...

    本文主要向大家介绍了Java语言基础学习之流程控制语句和跳转控制语句实例分析,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. 一.流程控制语句 在一个程序执行的过程中,各条语句的执行顺 ...

  7. 零基础编程学python还是java_零基础学python还是java 二者有哪些区别

    对于初学者来说,python相对比较简单.python的语法类似于伪代码或普通英语,不需要严格的代码结构,入门简单. 零基础适合python还是java 从语言本身来说,python是出了名的简洁.p ...

  8. JAVA该如何学?学习JAVA应该掌握哪些技术?

    从零基础的角度来说,每一个 JAVA 工程师都是从零基础开始学的,他们并不是生来就会 JAVA:学习 JAVA 是一个漫长且煎熬的过程,因为 JAVA 的知识点很多,而且也不是很简单,需要你们花大量时 ...

  9. 没有语言基础可以学python_没有Python语言基础可以学习深度学习吗?

    展开全部 Python学习路线.32313133353236313431303231363533e78988e69d8331333433643031 第一阶段Python基础与Linux数据库.这是P ...

  10. 零基础学python还是c语言-零基础学Python之前需要学c语言吗

    Python本身是比较适合作为入门编程语言来学习的,一方面Python的语法结构比较简单清晰,实验也相对比较容易完成,这会逐渐增强初学者的学习信心,另一方面Python属于全场景编程语言,未来在很多领 ...

最新文章

  1. python有哪些常见的开发环境_Python集成开发环境有哪些
  2. deeplearning
  3. 特征图大小_新手向快速了解图神经网络
  4. Tensorflow C3D完成视频动作识别
  5. STM32F103单片机输出相位可调PWM波
  6. [android-wifi](7.1)漫游部分逻辑
  7. Delphi的子类化控件消息, 消息子类化
  8. 2 Django-2的路由层(URLconf)
  9. pyspark分类算法之梯度提升决策树分类器模型GBDT实践【gradientBoostedTreeClassifier】
  10. python贪心算法几个经典例子_python 贪心算法的实现
  11. 在JMP中拆分数据集有烦恼?这些实用妙招试试看!
  12. 12个偏微分方程常用的不等式
  13. Win10 安装美能达打印机驱动程序失败, 怎么也安装不了
  14. html5 扩展 cs6,Dreamweaver CS6提高了HTML5工具的效率
  15. EBU5502 Database Coursework Specifications
  16. ( 转)关于Android的nodpi,xhdpi,hdpi,mdpi,ldpi
  17. 从“半部电台”到“云监工” 天翼云助力红色电信启航新征程
  18. GIS功能区类型识别
  19. 如何有效的制定团队能力提升计划?
  20. 彻底理解并解决服务器出现大量TIME_WAIT - 第三篇

热门文章

  1. GaussianNetwork高斯网络
  2. Missing Marketing Icon - iOS Apps must include a 1024x1024px Marketing Icon in PNG format
  3. c语言编程中负1什么意思,C语言中的if(1)是什么意思啊
  4. Regulator子系统
  5. Update....FROM...
  6. 实现DNS主从复制、子域、转发、智能DNS
  7. android键盘顶起布局原理,android如何把键盘弹出不影响布局?
  8. Wayland协议解析 一 什么是Wayland
  9. com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known serve
  10. 3D人物移动和相机跟随_学习整理资料