什么是程序

  • 程序通常指完成某些事物的一种既定方式和过程。
  • 在日常生活中,可以把程序看成一系列动作的执行过程和描述。

Java介绍

  • Java是Sun Microystems于1995年推出的高级编程语言。
  • Java领域:JavaSE,JavaEE,JavaME //标准版,企业版,微型版:

    简而言之,javase是基础,要先学,javaee是企业级,接着学,然后可以转到javaweb方向,javame是做移动应用的。基础必须先学。

开发Java程序:三步走

  • 编写源程序   -->MyProject.java
  • 编译源程序  -->MyProject.class
  • 运行             -->Java运行平台

集成开发环境 

  • 集成开发环境(IDE)是一类软件,它将程序开发环境和程序调试环境集合在一起,帮助程序员开发软件
  • 使用Eclipse开发Java程序步骤:
  1. 创建一个Java项目          包资源管理器:src目录:存放包和源文件 ;JRE系统库目录:存放程序运行必须的系统库文件

    Eclipse导航器:bin目录:存放可执行的字节码文件;src目录:存放Java源文件

  2. 手动创建Java源程序  
  3. 编译Java源程序
  4. 运行Java程序

命名规则

标识符是用来标识类名、对象名、变量名、方法名、类型名、数组名、文件名的有效字符序列,也就是他们的名称。

Java规定:标识符由字母、数字、下划线、$组成,并且首字母不能是数字

  • 包名:所有字母小写,公司域名反过来写 如:com.biandan
  • 类名:所有单词首字母大写 如:StringPrint
  • 方法名、变量名:第一个单词首字母小写,其他单词首字母大写(小驼峰法则) 如:stringPrint
  • 常量:所有字母大写 如:PI

关键字

对于有特定含义的关键字,在编程时不能用来命名标识符。

数据储存

瞬时状态

  • 变量
  • 数组
  • 集合

持久状态

  • 数据库
  • 文件

数据类型

  • 基本数据类型:四类八种

  

  float a = 2e3f ;

  使用final定义字符常量:如final int NUM = 3.14 ;

基本数据类型定义的变量,变量的值全部储存在栈里。

  • 引用数据类型

      对象(class)

    接口(interface)

    数组

    引用数据类型定义的变量,在栈内存放的是相对应堆的地址。

  所有数据类型长度固定,不随硬件、软件系统不同而不同。

数据类型转换

自动类型转换

强制类型转换

大转小时,如:

double a = 10.2;
int b = (int)a / 2;
int c = (int)(a / 2.2);

运算符

  • 算术运算符
  • 赋值运算符:=  +=  -=  *=  /=  %=

        i = i + j ;   等价于  i += j ;推荐使用后者,有更好的性能

  • 关系运算符:
  • 逻辑运算符 : && 、|| 、 !

        && :当左边的为真时,将不会再计算右边的表达式

  • 位运算符 : & 、 | 、^ (按位异或) 、 ~ (按位取反) 、 << (左移位) 、 >> 、 >>> (无符号右移位)

        左移位:右边空位补零

        右移位: 左边的空位根据原数的符号位补0或1 (负数补1,正数补0),即左边补符号位

        无符号右移位:左边空位补零

  • 自增自减运算符:++  --
  • 三元运算符:?:

          a > b ? ++a  , ++b

 总体而言优先级:算数运算符 > 关系运算符 > 逻辑运算符

注意事项:

  • 位运算的结果也是整形数,包括int、long
  • 如果操作数是char、byte、short,位运算前其值会自动晋升为int,运算结果为int

Java编码规范

  • 类名使用public修饰
  • 一行只写一条语句
  • { }的使用及位置
  • 代码缩进

注释

  • 单行注释:  //
  • 多行注释以“/*”开头,以“*/”结尾

  例如:

/**
* HellWorld我的第一个java程序
* @author 张三
* @version 1.0
* @createTime 2016-2-12 15:30
*
*/

常见错误

  • public修饰的类的名称必须与Java文件同名!
  • main方法作为程序入口,void必不可少!
  • Java对大小写敏感
  • 每一条Java语句必须以分号结束!
  • 注意:不要漏写引号

打印输出

程序示例:

public class Main {
public static void main(String[] args) {
System.out.println("我的第一个Java程序 ");
}
}

基本流程结构

  • 顺序结构
  • 分支结构:if-else;  多重if;    if  else if…   else;    switch(){ case:   defult: }

        区别:if语句里面为boolean,switch语句里面为整型变量(byte  short  int  char 以及字符串)等值分支使用switch结构

           绝大部分情况下switch会快一点,除非是if-else的第一个条件就为true

           if语句里面为boolean,

  • 循环结构:while , do{}while() ; , for ,  foreach

        跳转语句:break;  continue;  return;

        while判断语句为boolean型

        for循环 1.参数初始化 2.条件判断 3.循环体被执行 4.更新循环变量

        区别:循环条件不确定时,通常使用while循环

定义数组及其赋值

// 数组赋值的几种方式
// 定义时赋初值
int[] arr = new int[]{1,3,4,5};
int[] arr2 = {1,3,4,6};
// 定义时不赋初值
int[] arr3 = new int[3];
for (int i = 0; i < arr3.length; i++) {
arr3[i] = i;
}

数组三特性:

  • 长度固定
  • 类型固定
  • 空间连续

我的第一篇java笔记的更多相关文章

  1. 第一篇markdown笔记

    博客的样式设置 1 2 3 参考第一篇博客 参考第二篇博客 高效的写博客 博客园虽然支持markdown,但是好多快捷键都不支持,以后可以先在马克飞象上写好markdown笔记,再复制到博客上.

  2. 学习Java第一篇——Java 安装及环境搭配

    内容提要: 1.下载JDK: 2.安装JDK: 3.配置JDK;   第一,下载JDK:  1.登陆网址:www.oracle.com 2.点击 Downloads 3.选择 Java SE 4.选择 ...

  3. 《安卓网络编程》之第一篇 java环境下模拟客户端、服务器端

    1.Socket简介 在网络上的两个程序通过一个双向的通信连接实现数据的交换,这个双向链路的一端称为一个Socket.Socket通常用来实现客户方和服务方的连接.Socket是TCP/IP协议的一个 ...

  4. 2018年第一篇行动笔记:Reading Log

    今天读了盖兆泉的文章<美国教师怎么上阅读课>,觉得干货颇多,不仅仅针对儿童英语阅读,而且对生活的方方面面都有助益. 该文章主要内容摘要如下: 学生需要大量时间阅读 这里的阅读时间是特指花在 ...

  5. 学习KnockOut第一篇之Hello World

    学习KnockOut第一篇之Hello World 笔者刚开始学习KnockOut.写的内容就相当于一个学习笔记.且在此处向官网致敬,比较喜欢他们家的Live Example版块,里面有jsFiddl ...

  6. Scala语言笔记 - 第一篇

    目录 Scala语言笔记 - 第一篇 1 基本类型和循环的使用 2 String相关 3 模式匹配相关 4 class相关 5 函数调用相关 Scala语言笔记 - 第一篇 ​ 最近研究了下scala ...

  7. Java反射篇学习笔记

    今天重新学习了java中的反射,写一篇学习笔记总结一下.代码基本都是照着两篇博客敲的: 参考一:   https://blog.csdn.net/sinat_38259539/article/deta ...

  8. 《javascript权威指南》读书笔记——第一篇

    <javascript权威指南>读书笔记——第一篇 金刚 javascript js javascript权威指南 由于最近想系统学习下javascript,所以开始在kindle上看这本 ...

  9. 回合对战制游戏第一篇(初识java)

    回合对战制游戏第一篇 一,所谓的java. java是一门完全面向对象的编程语言,而之前所接触到的C语言是一门面向有一个过程的语音,对于两个的区别应该有一个清楚的认识. java的第一个内容. 类和对 ...

随机推荐

  1. Mysql-12条优化技巧

    应用程序慢如牛,原因多多,可能是网络的原因.可能是系统架构的原因,还有可能是数据库的原因. 那么如何提高数据库SQL语句执行速度呢?有人会说性能调优是数据库管理员(DBA)的事,然而性能调优跟程序员们 ...

  2. linux中.nfsxxxx引起的文件无法删除

    一个linux系统中的某个文件夹无法删除,使用ls -al查看有1个.nfsxxxx的文件无法删除. 使用lsof +D /filepath/,查看到文件被一个进程一直占用. 再使用ps -aux | ...

  3. [UE4]计算箭头方向:正切、SetRelativeRotation、RotationFromXVector、Get MotionController Thumbstick X

    正切 正弦函数 sinθ=y/r 余弦函数 cosθ=x/r 正切函数 tanθ=y/x 余切函数 cotθ=x/y 正割函数 secθ=r/x 余割函数 cscθ=r/y   已知y和x,求角度θ: ...

  4. ZooKeeper是按照CP原则构建的,不适合做Service服务发现

    一.cap 分布式领域中存在CAP理论,且该理论已被证明:任何分布式系统只可同时满足两点,无法三者兼顾. ①C:Consistency,一致性,数据一致更新,所有数据变动都是同步的. ②A:Avail ...

  5. Java BASE58 以及 md5,sha256,sha1

    package cn.ubibi.wsblog.utils; import java.io.UnsupportedEncodingException; import java.math.BigInte ...

  6. C:指针遍历二维数组

    C 指针遍历二维数组 http://blog.csdn.net/lcxandsfy/article/details/55000033 C++ 字符串指针与字符串数组 https://www.cnblo ...

  7. Apache的ServerAlias的作用

    今天在php的集成环境laragon上添加了一个虚拟主机,域名为:whathell.com 突然想在前面加个www. 一种做法是在auto.whathell.com文件中添加如下内容: <Vir ...

  8. 去除 ServiceStack.Redis 的6000次限制。

    方法一. 下载 https://github.com/ServiceStack/ServiceStack.Text 修改LicenseUtils.cs文件中的AssertValidUsage var ...

  9. Centos7上安装java

    1.默认情况下,系统安装的有jdk1.8,但是使用javac测试时会不识别这个命令,   意味着,java还是未安装好. 2.把java升级即可,此时java已经可用. yum -y install ...

  10. centos7 lnmp环境部署

    搭建版本 版本组合 php5.6+apache/2.4.6(centos7)+mysql5.7.24 因为新系统不能确认哪些指令已经搭建  所以安装前需要确认下是否拥有 检测是否已经安装过Vim rp ...