今日目标
商业模式下的互联网思维案例
Java概述
HelloWorld的案例
变量的案例
数据类型的案例
运算符的案例
分支结构的案例
教学导航
- 了解商业模式下的互联网思维
- 了解什么是Java语言
- 了解Java语言主要的技术架构,主要变化以及发展的趋势(就业趋势)
- 了解Java的程序结构
- 熟练工具和环境配置
- 掌握Java的基础语言(变量,数据类型,运算符,分支结构等)
1.商业模式下的互联网思维案例
1.1需求分析
一小姐离开夜场,应聘了一家贸易公司,用了一个月的时间办了20个已婚男同事,然后辞职。
几天后小姐给20个男人发了同样一条短信,怀孕了,需要5000做人流。一次性支付,不再麻烦。三天后收到了10万块钱。这是什么?
1.2技术分析
【先免费后付费】模式创新:
跨界+用户规模化+服务个性化
20个男人每个人出了250,凑够了5000打给他去打胎.这叫**【众筹】**。
20个男人每个人出了250,凑够了5000买营养品,生下的孩子卖了10万,19倍的收益,这叫**【创投】**。
孩子是虚构的,根本没怀孕。这叫**【招股说明书】**。
小姐也没去应聘,只是准备去,这是**【创业计划】**。
赞助小姐200块去执行此计划,并约定收益分成,这叫**【风投】**。
小姐去贸易公司上班老板不发工资,允许其在男同事身上赚各样的钱,这叫**【羊毛出在猪身上让狗买单】——【互联网思维】**!
贸易公司老板掏钱包装小姐参加选秀,进入演艺圈砸钱拍电影、电视剧,并承当其经济人,这叫**【资产重组+风险转移+PE】**;
小姐拍某电影一夜走红,票房爆棚,老板投资回报翻几十番,这叫**【成功上市】;**
1.3步骤分析
什么叫大数据?什么叫O2O?什么叫蓝海?什么叫红海?什么叫互联网思维?
什么叫众筹?
2.Java概述
2.1概念
Java是一门面向对象的语言,而之前的学到的C语言面向过程的语言,C++是面向对象的一门语言。
2.2为什么学习java
Java目前是一门使用最为广泛的语言之一;
Java还有许多特性:简单些、分布式、可移植性、健壮性、多平台独立性、动态性;
Java拥有极高的跨平台能力:(编写桌面的应用程序、web应用程序、嵌入式系统的应用程序、分布式系统的开发等)
Java高端路线–大数据?
Hadoop技术最多用的是Java、HBase,掌握Java
2.3java能干嘛(就业方向)
- 安卓应用
- 在金融行业应用的服务器程序
- 网站的设计(电子商务的网站)
- 嵌入式领域
- 大数据技术
2.4技术架构
JavaSE-------标准版
JavaEE-------企业版
JavaME------微型版
2.5JVM/JDK/JRE的概述
2.5.1什么是跨平台
平台:指的就是操作系统(Windows、Linux、Mac)
跨平台:Java程序可以运行在不同的操作系统上,一次编译到处运行
原理:实现跨平台需要Java虚拟机JVM(Java Virtual Machine)
2.5.2JVM/JDK/JRE
A:什么是JVM
JVM就是Java虚拟机,Java程序需要运行在虚拟机上,不同平台都有自己的虚拟机,
所以Java语言是跨平台。
B:什么是JRE
包括包括Java虚拟机(JVM)和Java程序所需要的核心类库如果想要运行一个开发好的Java程序,计算机只需要安装JRE就可以完成
JRE:JVM+核心类库
C:什么是JDK
JDK提供给我们开发人员使用的,其实里面已经包含了Java开发工具,当然也包括JRE,如果你安了JDK,就不用单独安装JRE了。
JDK:JRE+Java开发工具
D:JDK,JRE,JVM的关系和作用。
JDK包括JRE和开发工具
JRE包含JVM和核心类库
2.6常用的DOS命令
2.6.1打开控制台
Win+R,输入cmd
2.6.2熟悉一下常用命令
- d:回车 盘符的切换
- dir:列出当前目录下的所有的文件和文件夹
- cd:改变指定目录(进入相对应的目录)
- cd…:回退
- cls:清屏操作
- exit:退出dos命令行
2.7环境变量的配置
-
JDK下载
通过官方获取JDK,www.oracle.com
下载的时候注意:不同操作系统,下载不同的版本,32位和64位。
-
JDK的安装
傻瓜式安装。下一步即可。
建议安装的时候用英文路径,不要用中文或者带符号还有带符号还有带空格等。
-
为什么要配置
Java程序的编译和运行使用Javac和Java命令,所以只能在bin目录下写程序。
在实际开发中,不可能把所有程序都放到bin目录下,最好的方法就是可以再任意目录下能够访问Javac和Java。
-
如何配置
创建新的变量名称:JAVA_HO,ME
【计算机】—>右击【属性】—>【高级系统设置】—>【环境变量】—>【系统变量】
变量值:JDK的安装路径
【Path】
在最后面添加;%JAVA_HOME%\bin;即可
3.HelloWorld案例
3.1需求分析
第一个见到的程序。
3.2技术分析
在命令行模式,输入javac命令对源代码进行编译,生成了字节码文件
javac 源文件名.java
编译完之后,如果说没有报错,那么进行java命令对字节码文件进行执行,执行时不要添加.class扩展名
java HelloWorld
3.3步骤分析
见代码
3.4代码实现
public class HelloWorld{
public static void main(String[] args){
System.out.println("HelloWorld!!!");
}
}
3.5扩展内容
常见问题:
- 文件名隐藏
- 单词拼写的错误(Class/string/mian)
- 中文符号在输出语句的最后面使用中文分号
- 括号的匹配{()}
4.注释
A:什么是注释
用来解释说明程序的文字
B:Java中的注释分类
单行注释://注释文字
多行注释:/* 注释文字 */
文本注释:/** 注释文字 */
C:注释的作用
- 解释说明程序,增加可读性。
- 帮助我们更好的去寻找程序的错误。
- Doc文档注释生成:javadoc -d 存放的路径 HelloWorld.java
5.关键字
A:概述
被java语言给定的特定含义的单词
B:特点
组成关键字的字母都是小写的。
常用的代码编辑器,针对关键字会有特殊的颜色标记,比较直观。这里建议关键字不需要死记硬背。
C:常用的关键字
6.常量的案例
A:概念
在程序执行的过程中,它的值一直不发生改变的量。
B:常量的分类
- 整数常量:所有的整数(234,250)
- 小数常量:所有的小数(31.1415926,6.66)
- 字符常量:由单引号引起来的内容(‘a’,‘A’,‘0’)
- 字符串常量:由双引号引起来的内容(“HelloWorld”)
- 布尔常量:特殊,只有true和false
- 空常量:null(数组中学到)
练习:使用工具
7.变量的案例
7.1需求分析
A:定义
存数的。容器。代词,指的就是所存的那个数字。Person p;Score s;
B:声明
int a;//声明了一个整型的变量,叫a;
int b,c,d;//声明三个整型的变量,叫b,c,d
C:初始化
-
声明的时候同时初始化
int a=666;
-
先声明后初始化
int a;
a=666;
7.2技术分析
使用:
见代码
7.3步骤分析
见代码
7.4代码实现
package cn.tedu.demo;
public class VariableDemo {
public static void main(String[] args) {
//int a=3.14;//编译错误,数据类型不匹配
//System.out.println(p);//编译错误,没有声明
//int m;
//System.out.println(m);//编译错误,变量没有初始化
{
int s = 66;
System.out.println(s);
}
//System.out,println(s);//局部变量有范围,属于所在的大括号里面
//不建议一行定义多个变量。
int aa,bb;
aa = 88;
bb = 99;
}
}
7.5扩展内容
变量的命民:
由字母、数字、下划线组成,但是不能由数字开头。
不能使用关键字
可以中文命民,但是不建议使用中文。
建议“见名知意”,“驼峰命民法”
score,myScore,myJavaScore------驼峰命民法
Score,MyScore,MyJavaScore------帕斯卡名民法
7.6二进制转换
十进制和二进制的转换
13=1101 666
7.7计算机中的存储单元
位:bit
字节:byte
1B=8bit
1KB=1024B
1M=1024KB
1GB=1024M
8.数据类型的案例
8.1需求分析
A:为什么有数据类型?
java是一门强类型的语言,对于每一种数据的定义都会有明确的规定,在内存中分配不同大小的内存空间。
B:数据类型的分类
基本数据类型:
整型:byte,short,int,long
浮点型:float,double
字符类型:char
布尔类型:boolean
引用数据类型:数组、类、接口等。后期学习。
8.2技术分析
byte:
- byte数据类型:8位,占1个字节。
- 最小值:-128 -2^7
- 最大值:127 2^-1
- 默认值是0
- byte在大型的数组中使用,主要的目的就是为了节约内存空间,因为byte占得空间只有int的四分之一。
short:
- short数据类型:16位,占2个字节
- 最小值:-32768 -2^15
- 最大值:32767 2^15-1
- 默认值是0
int:
- int数据类型:32位,占4个字节
- 最小值:-20E左右 -2^31
- 最大值: 2^31-1
- 默认值是0
long:
- long数据类型:64位,占8个字节
- 最小值
- 最大值
- 默认值是0L
float:
- float数据类型:32位,占4个字节
- 默认值是0.0f
double:
- double数据类型:64位,占8字节
- 默认值是0.0d
char:
- char数据类型:占2个字节
- ‘/u0000’-----0 最小值
- 最大值:655535
boolean:
- 只有两个值:true和false
- 默认值:false
- 一般用来做标记记录的。
8.3步骤分析
DataTypeDemo
8.4代码实现
package cn.tedu.demo;
/**
- 数据类型Demo
- 格式化代码:ctrl+shift+f ctrl+i
- @author Administrator
*
*/
public class DataTypeDemo {
public static void main(String[] args) {
//short---java.lang.short---包装类
System.out.println(Short.SIZE);
System.out.println(Short.MIN_VALUE);
System.out.println(Short.MAX_VALUE);
//int
System.out.println(Integer.SIZE);
System.out.println(Integer.MIN_VALUE);
//整型 变量=数值;
int a = 100;
a = a + 66;
System.out.println(a);
//数据类型的转换:强制类型转换、自动转换
/*
* 注意:
* 1)转换的时候,强制转换会造成精度丧失和溢出
* 2)数值运算的时候自动转换
* 3)byte、char、int、转换的时候注意int的问题
*/
long l = 1024*1024*1024*4;
int p = (int)l;
System.out.println(p);//结果0
byte x = 15;
byte y = 6;
//byte z = x + y;
//修改---注意:在byte参与运算的时候,自动会转换为int,所以用int接受数据
int m = x + y;
System.out.println(m);
long p1 = 222222222L;
double money = 9999;
double salary = 200000000.05;
char c1 = 'a';
System.out.println(c1);
char c2 = '0';
boolean flag = false;
if(flag){
System.out.println("下课");
}else{
System.out.println("下课了");//下课了
}
}
}
8.5扩展内容
ERP财务-----BigDecimal-----后期
驼峰命民法:
- 包名:无论由几个单词组成,所有字母全部都是小写,每一个单词之间用.隔开。www.baidu.com,com.baidu.exer;cn.tedu.exer;
- 类名:如果是由多个单词组成,每一个单词的首字母大写-------HelloWorld Demo
- 变量名、方法名:如果是多个单词组成,第一个单词的首字母小写,其余首字母大写。age maxAge getAge()
- 常量名:无论由几个单词组成,所有字母都是大写,每一个单词之间都要用_隔开。LEFT LEFT_UP WIDTH=666; HIGHT=900;
Scanner的用法:
1)导包:在package import java.util.Scanner
2)创建对象:main():Scanner scanner=new Scanner(System.in);
3)接收数据:scanner.nexrInt();
8.6练习
1.创建类AgeRange,要求:
接收用户输入的年龄age,并输出
2.创建类LeapYear,要求:
接收用户输入的年份year,并输出
9.运算符的案例
9.1需求分析
1)算数运算符:+,-,*,/,%,++,–
2)关系运算符:>,<,>=,<=,==,!=,boolean
3)逻辑运算符:&&,||,!
4)赋值运算符:=,+=,-=,*=,=
5)三目(条件)运算符 :boolean?数字:数字2;
6)字符串连接:+
9.2技术分析
9.3步骤分析
9.4代码实现
package cn.tedu.day03;
public class OperatorDemo {
public static void main(String[] args) {
int x = 2;
int y = 5;
System.out.println(x + y);//7
System.out.println(x - y);//-3
System.out.println(x * y);//10
System.out.println(x / y);//0
System.out.println(x++);//2
System.out.println(x--);//3
int x1 = 6;
int x2 = 3;
System.out.println(++x1);//7
System.out.println(--x2);//2
//逻辑运算符 短路与(并且)
//只要有一个为假都为假 false
//&& x && y
// 0 1 0
// 1 1 1
// 1 0 0
// 0 0 0
int m = 8;
int n = 6;
boolean p = m < n && m ++ < 7;
System.out.println(p);//false
//|| 或 只要有一个为真都为真 true
boolean p1 = m < n || m ++ < 17;
System.out.println(p1);//true
//赋值运算符-----自带强转功能的用法
int m1 = 12;
//面试题,笔试题
short a = 6;
a += 20;//a=(short)(a + 20);
System.out.println(a);//26
//字符串连接 +
System.out.println("身高" + a);
//分别输出m和n
System.out.println(m +" "+ n);//中间加分隔符
//三目运算符 boolean?数字1:数字2;
int c = 33;
int d = 88;
int max = c > d ? c : d;
System.out.println("max = " + max);
if(c > d){
int max1 = c;
}
}
}
9.6练习
/*
* 1.算术运算符的练习:
* 1)输出7%3,输出9%3,输出3%6
* 2)声明整型变量a并赋值为5,a++,输出a
* 声明整型变量b并赋值为5,++b,输出b
* 3)声明整型变量c并赋值为5
* 声明整型变量d并赋值为c++,输出c,输出d
* 声明整型变量e并赋值为5
* 声明整型变量f并赋值为++e,输出e,输出f
* 4)声明整型变量g和h,并分别赋值为5
* 输出g--,输出g
* 输出--h,输出h
*/
/*
* 赋值、字符串连接、三目运算符的练习:
* 1)声明整型变量a并赋值为5
* 在a本身基础之上增10,输出a
* 在a本身基础之上乘3,输出a
* 在a本身基础之上除4,输出a
* 声明byte型变量b并赋值为5
* b += 10;-------------------???
* b = b+10;------------------???
* 2)声明整型变量age并赋值为22
* 输出age=22,输出我今年22岁了
* 3)声明整型变量c和d,并分别赋值为5和8
* 声明整型变量max并赋值为c和d之中的最大值
* 输出max
*/