├── Readme.md
├── gitignore.io
├── sesion_10
├── .idea
│ ├── .gitignore
│ ├── libraries
│ │ └── json.xml
│ ├── misc.xml
│ ├── modules.xml
│ ├── runConfigurations.xml
│ ├── uiDesigner.xml
│ └── vcs.xml
├── datos.json
├── datos.xml
├── out
│ └── production
│ │ ├── sesion_10
│ │ ├── com
│ │ │ └── intellij
│ │ │ │ └── uiDesigner
│ │ │ │ └── core
│ │ │ │ ├── AbstractLayout.class
│ │ │ │ ├── DimensionInfo.class
│ │ │ │ ├── GridConstraints.class
│ │ │ │ ├── GridLayoutManager.class
│ │ │ │ ├── HorizontalInfo.class
│ │ │ │ ├── LayoutState.class
│ │ │ │ ├── Spacer.class
│ │ │ │ ├── SupportCode$TextWithMnemonic.class
│ │ │ │ ├── SupportCode.class
│ │ │ │ ├── Util.class
│ │ │ │ └── VerticalInfo.class
│ │ ├── ejemploJSON
│ │ │ └── Main.class
│ │ ├── ejemploXML
│ │ │ └── Main.class
│ │ ├── eventos
│ │ │ ├── Emisor.class
│ │ │ ├── Main.class
│ │ │ ├── Mensajero.class
│ │ │ ├── Receptor.class
│ │ │ └── ReceptorMusical.class
│ │ └── swingTax
│ │ │ ├── swingTax$1.class
│ │ │ └── swingTax.class
│ │ └── swingTax
│ │ └── com
│ │ └── intellij
│ │ └── uiDesigner
│ │ └── core
│ │ ├── AbstractLayout.class
│ │ ├── DimensionInfo.class
│ │ ├── GridConstraints.class
│ │ ├── GridLayoutManager.class
│ │ ├── HorizontalInfo.class
│ │ ├── LayoutState.class
│ │ ├── Spacer.class
│ │ ├── SupportCode$TextWithMnemonic.class
│ │ ├── SupportCode.class
│ │ ├── Util.class
│ │ └── VerticalInfo.class
├── sesion_10.iml
└── src
│ ├── ejemploJSON
│ └── Main.java
│ ├── ejemploXML
│ └── Main.java
│ ├── eventos
│ └── Main.java
│ └── swingTax
│ ├── swingTax.form
│ └── swingTax.java
├── sesiones_1_2_3
└── ob-sesion1
│ ├── .idea
│ ├── .gitignore
│ ├── misc.xml
│ ├── modules.xml
│ ├── runConfigurations.xml
│ └── uiDesigner.xml
│ ├── README.md
│ ├── ob-sesion1.iml
│ ├── out
│ └── production
│ │ └── ob-sesion1
│ │ └── com
│ │ └── example
│ │ ├── AdiosMundo.class
│ │ ├── HolaMundo.class
│ │ ├── estructurascontrol
│ │ ├── condicionales
│ │ │ ├── If.class
│ │ │ ├── IfElse.class
│ │ │ ├── IfElseIf.class
│ │ │ └── Switch.class
│ │ └── repeticion
│ │ │ ├── For.class
│ │ │ ├── ForEach.class
│ │ │ └── While.class
│ │ ├── funciones
│ │ ├── Funciones.class
│ │ ├── Funciones2.class
│ │ └── Sobrecarga.class
│ │ └── tiposdatos
│ │ ├── Operadores.class
│ │ └── Tipos.class
│ └── src
│ └── com
│ └── example
│ ├── AdiosMundo.java
│ ├── HolaMundo.java
│ ├── estructurascontrol
│ ├── condicionales
│ │ ├── If.java
│ │ ├── IfElse.java
│ │ ├── IfElseIf.java
│ │ └── Switch.java
│ └── repeticion
│ │ ├── ConcatenarTextos.java
│ │ ├── For.java
│ │ ├── ForEach.java
│ │ └── While.java
│ ├── funciones
│ ├── Funciones.java
│ ├── Funciones2.java
│ └── Sobrecarga.java
│ └── tiposdatos
│ ├── Operadores.java
│ └── Tipos.java
├── sesiones_4_5_6
├── ob-poo
│ ├── .idea
│ │ ├── .gitignore
│ │ ├── misc.xml
│ │ ├── modules.xml
│ │ ├── runConfigurations.xml
│ │ └── uiDesigner.xml
│ ├── README.md
│ ├── ob-poo.iml
│ ├── out
│ │ └── production
│ │ │ └── ob-poo
│ │ │ └── poo
│ │ │ ├── clases
│ │ │ ├── Main.class
│ │ │ ├── Motor.class
│ │ │ └── Vehiculo.class
│ │ │ ├── herencia
│ │ │ ├── Camion.class
│ │ │ ├── Coche.class
│ │ │ └── Motocicleta.class
│ │ │ └── interfaces
│ │ │ ├── Empleado.class
│ │ │ ├── EmpleadoCRUD.class
│ │ │ └── Main.class
│ └── src
│ │ └── poo
│ │ ├── clases
│ │ ├── Main.java
│ │ ├── Motor.java
│ │ └── Vehiculo.java
│ │ ├── coninterfaces
│ │ ├── EmpleadoCRUD.java
│ │ ├── EmpleadoCRUDExcel.java
│ │ ├── EmpleadoCRUDMySQL.java
│ │ ├── EmpleadoReader.java
│ │ └── Main.java
│ │ ├── herencia
│ │ ├── Camion.java
│ │ ├── Coche.java
│ │ └── Motocicleta.java
│ │ └── sininterfaces
│ │ ├── Empleado.java
│ │ ├── EmpleadoCRUDV1.java
│ │ ├── EmpleadoCRUDV2.java
│ │ └── Main.java
└── ob-refactor
│ ├── .idea
│ ├── .gitignore
│ ├── misc.xml
│ ├── modules.xml
│ └── runConfigurations.xml
│ ├── ob-refactor.iml
│ └── src
│ ├── consolidatedconditional
│ ├── bad
│ │ └── Main.java
│ └── good
│ │ └── Main.java
│ ├── consolidateduplicate
│ ├── bad
│ │ └── Main.java
│ └── good
│ │ └── Main.java
│ ├── extractclass
│ ├── bad
│ │ └── Person.java
│ └── good
│ │ ├── Address.java
│ │ └── Person.java
│ ├── extractmethod
│ ├── bad
│ │ └── Main.java
│ └── good
│ │ └── Main.java
│ ├── extractvariable
│ ├── bad
│ │ ├── Main.java
│ │ └── Order.java
│ └── good
│ │ └── Main.java
│ ├── magicnumbers
│ ├── bad
│ │ └── Main.java
│ └── good
│ │ └── Main.java
│ ├── removeassign
│ ├── bad
│ │ ├── Main.java
│ │ └── Order.java
│ └── good
│ │ └── Main.java
│ └── replacemethod
│ ├── bad
│ └── Product.java
│ └── good
│ ├── Product.java
│ └── ProductPriceCalculator.java
└── sesiones_7_8_9
├── .idea
├── .gitignore
├── .name
├── misc.xml
├── modules.xml
└── runConfigurations.xml
├── Java Básico.iml
├── out
└── production
│ └── Java Básico
│ ├── Main.class
│ ├── Sesion7.class
│ ├── Sesion8.class
│ └── Sesion9.class
└── src
├── Main.java
├── Sesion7.java
├── Sesion8.java
└── Sesion9.java
/Readme.md:
--------------------------------------------------------------------------------
1 | Estos son los ejemplos del curso básico de Java
2 |
--------------------------------------------------------------------------------
/gitignore.io:
--------------------------------------------------------------------------------
1 | */bin/*
2 | bin/
3 |
4 | *.class
5 |
6 | # Package Files #
7 | *.jar
8 | *.war
9 | *.ear
10 |
11 |
12 | # Eclipse
13 | .settings/
14 | *.project
15 | *.classpath
16 | .prefs
17 | *.prefs
18 | .metadata/
19 |
20 | # Intellij
21 | .idea/
22 | *.iml
23 | *.iws
24 | out/
25 |
26 | # VSCode
27 | .vscode/
28 |
29 | # Mac
30 | .DS_Store
31 |
32 | # Maven
33 | log/*
34 | target/
35 |
36 | # Gradle
37 | .gradle/
38 |
39 | spring-openid/src/main/resources/application.properties
40 | .recommenders/
41 | /spring-hibernate4/nbproject/
42 |
43 | spring-all/*.log
44 |
45 | SpringDataInjectionDemo/.mvn/wrapper/maven-wrapper.properties
46 |
47 | spring-call-getters-using-reflection/.mvn/wrapper/maven-wrapper.properties
48 |
49 | spring-check-if-a-property-is-null/.mvn/wrapper/maven-wrapper.properties
50 | *.springBeans
51 |
52 | 20171220-JMeter.csv
53 |
54 | .factorypath
55 | dependency-reduced-pom.xml
56 | *.so
57 | *.dylib
58 | *.dll
59 |
60 | xml/src/test/resources/example_dom4j_new.xml
61 | xml/src/test/resources/example_dom4j_updated.xml
62 | xml/src/test/resources/example_jaxb_new.xml
63 | core-java-io/hard_link.txt
64 | core-java-io/target_link.txt
65 | core-java/src/main/java/com/baeldung/manifest/MANIFEST.MF
66 | ethereum/logs/
67 | jmeter/src/main/resources/*-JMeter.csv
68 | ninja/devDb.mv.db
69 |
70 | **/node_modules/
71 | **/dist
72 | **/tmp
73 | **/out-tsc
74 | **/nbproject/
75 | **/nb-configuration.xml
76 |
77 |
78 | persistence-modules/hibernate5/transaction.log
79 | apache-avro/src/main/java/com/baeldung/avro/model/
80 | jta/transaction-logs/
81 | software-security/sql-injection-samples/derby.log
82 | spring-soap/src/main/java/com/baeldung/springsoap/gen/
83 | /report-*.json
84 | transaction.log
85 | *-shell.log
86 |
87 | apache-cxf/cxf-aegis/baeldung.xml
88 | testing-modules/report-*.json
89 |
90 | libraries-2/*.db
91 |
92 | apache-spark/data/output
93 | logs/
94 | libraries-data-io/*.docx
95 | persistence-modules/spring-hibernate-5/com.*
96 | spring-boot-modules/spring-boot-react/frontend/build
97 | spring-boot-modules/spring-boot-react/frontend/node
98 | spring-boot-modules/spring-boot-react/frontend/yarn.lock
99 | spring-boot-modules/spring-boot-properties-3/*.log
100 |
101 | # SDKMan
102 | .sdkmanrc
103 |
--------------------------------------------------------------------------------
/sesion_10/.idea/.gitignore:
--------------------------------------------------------------------------------
1 | # Default ignored files
2 | /shelf/
3 | /workspace.xml
4 | # Editor-based HTTP Client requests
5 | /httpRequests/
6 | # Datasource local storage ignored files
7 | /dataSources/
8 | /dataSources.local.xml
9 |
--------------------------------------------------------------------------------
/sesion_10/.idea/libraries/json.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/sesion_10/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/sesion_10/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/sesion_10/.idea/runConfigurations.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
10 |
--------------------------------------------------------------------------------
/sesion_10/.idea/uiDesigner.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | -
6 |
7 |
8 | -
9 |
10 |
11 | -
12 |
13 |
14 | -
15 |
16 |
17 | -
18 |
19 |
20 |
21 |
22 |
23 | -
24 |
25 |
26 |
27 |
28 |
29 | -
30 |
31 |
32 |
33 |
34 |
35 | -
36 |
37 |
38 |
39 |
40 |
41 | -
42 |
43 |
44 |
45 |
46 | -
47 |
48 |
49 |
50 |
51 | -
52 |
53 |
54 |
55 |
56 | -
57 |
58 |
59 |
60 |
61 | -
62 |
63 |
64 |
65 |
66 | -
67 |
68 |
69 |
70 |
71 | -
72 |
73 |
74 | -
75 |
76 |
77 |
78 |
79 | -
80 |
81 |
82 |
83 |
84 | -
85 |
86 |
87 |
88 |
89 | -
90 |
91 |
92 |
93 |
94 | -
95 |
96 |
97 |
98 |
99 | -
100 |
101 |
102 | -
103 |
104 |
105 | -
106 |
107 |
108 | -
109 |
110 |
111 | -
112 |
113 |
114 |
115 |
116 | -
117 |
118 |
119 | -
120 |
121 |
122 |
123 |
124 |
--------------------------------------------------------------------------------
/sesion_10/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/sesion_10/datos.json:
--------------------------------------------------------------------------------
1 | {
2 | "credenciales": {
3 | "usuario": "openbootcamp",
4 | "clave": "EstoEs1clave^_^",
5 |
6 | "videos": [
7 | "Primera sesión",
8 | "Segunda sesión",
9 | "Tercera sesión"
10 | ]
11 | }
12 | }
--------------------------------------------------------------------------------
/sesion_10/datos.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | openbootcamp
5 | EstoEs1clave^_^
6 |
7 |
8 |
9 |
10 |
11 | +
12 |
--------------------------------------------------------------------------------
/sesion_10/out/production/sesion_10/com/intellij/uiDesigner/core/AbstractLayout.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Open-Bootcamp/java_basico/7f228f3fe2aaac4aea565d249b1fe79dfe1392d5/sesion_10/out/production/sesion_10/com/intellij/uiDesigner/core/AbstractLayout.class
--------------------------------------------------------------------------------
/sesion_10/out/production/sesion_10/com/intellij/uiDesigner/core/DimensionInfo.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Open-Bootcamp/java_basico/7f228f3fe2aaac4aea565d249b1fe79dfe1392d5/sesion_10/out/production/sesion_10/com/intellij/uiDesigner/core/DimensionInfo.class
--------------------------------------------------------------------------------
/sesion_10/out/production/sesion_10/com/intellij/uiDesigner/core/GridConstraints.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Open-Bootcamp/java_basico/7f228f3fe2aaac4aea565d249b1fe79dfe1392d5/sesion_10/out/production/sesion_10/com/intellij/uiDesigner/core/GridConstraints.class
--------------------------------------------------------------------------------
/sesion_10/out/production/sesion_10/com/intellij/uiDesigner/core/GridLayoutManager.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Open-Bootcamp/java_basico/7f228f3fe2aaac4aea565d249b1fe79dfe1392d5/sesion_10/out/production/sesion_10/com/intellij/uiDesigner/core/GridLayoutManager.class
--------------------------------------------------------------------------------
/sesion_10/out/production/sesion_10/com/intellij/uiDesigner/core/HorizontalInfo.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Open-Bootcamp/java_basico/7f228f3fe2aaac4aea565d249b1fe79dfe1392d5/sesion_10/out/production/sesion_10/com/intellij/uiDesigner/core/HorizontalInfo.class
--------------------------------------------------------------------------------
/sesion_10/out/production/sesion_10/com/intellij/uiDesigner/core/LayoutState.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Open-Bootcamp/java_basico/7f228f3fe2aaac4aea565d249b1fe79dfe1392d5/sesion_10/out/production/sesion_10/com/intellij/uiDesigner/core/LayoutState.class
--------------------------------------------------------------------------------
/sesion_10/out/production/sesion_10/com/intellij/uiDesigner/core/Spacer.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Open-Bootcamp/java_basico/7f228f3fe2aaac4aea565d249b1fe79dfe1392d5/sesion_10/out/production/sesion_10/com/intellij/uiDesigner/core/Spacer.class
--------------------------------------------------------------------------------
/sesion_10/out/production/sesion_10/com/intellij/uiDesigner/core/SupportCode$TextWithMnemonic.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Open-Bootcamp/java_basico/7f228f3fe2aaac4aea565d249b1fe79dfe1392d5/sesion_10/out/production/sesion_10/com/intellij/uiDesigner/core/SupportCode$TextWithMnemonic.class
--------------------------------------------------------------------------------
/sesion_10/out/production/sesion_10/com/intellij/uiDesigner/core/SupportCode.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Open-Bootcamp/java_basico/7f228f3fe2aaac4aea565d249b1fe79dfe1392d5/sesion_10/out/production/sesion_10/com/intellij/uiDesigner/core/SupportCode.class
--------------------------------------------------------------------------------
/sesion_10/out/production/sesion_10/com/intellij/uiDesigner/core/Util.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Open-Bootcamp/java_basico/7f228f3fe2aaac4aea565d249b1fe79dfe1392d5/sesion_10/out/production/sesion_10/com/intellij/uiDesigner/core/Util.class
--------------------------------------------------------------------------------
/sesion_10/out/production/sesion_10/com/intellij/uiDesigner/core/VerticalInfo.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Open-Bootcamp/java_basico/7f228f3fe2aaac4aea565d249b1fe79dfe1392d5/sesion_10/out/production/sesion_10/com/intellij/uiDesigner/core/VerticalInfo.class
--------------------------------------------------------------------------------
/sesion_10/out/production/sesion_10/ejemploJSON/Main.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Open-Bootcamp/java_basico/7f228f3fe2aaac4aea565d249b1fe79dfe1392d5/sesion_10/out/production/sesion_10/ejemploJSON/Main.class
--------------------------------------------------------------------------------
/sesion_10/out/production/sesion_10/ejemploXML/Main.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Open-Bootcamp/java_basico/7f228f3fe2aaac4aea565d249b1fe79dfe1392d5/sesion_10/out/production/sesion_10/ejemploXML/Main.class
--------------------------------------------------------------------------------
/sesion_10/out/production/sesion_10/eventos/Emisor.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Open-Bootcamp/java_basico/7f228f3fe2aaac4aea565d249b1fe79dfe1392d5/sesion_10/out/production/sesion_10/eventos/Emisor.class
--------------------------------------------------------------------------------
/sesion_10/out/production/sesion_10/eventos/Main.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Open-Bootcamp/java_basico/7f228f3fe2aaac4aea565d249b1fe79dfe1392d5/sesion_10/out/production/sesion_10/eventos/Main.class
--------------------------------------------------------------------------------
/sesion_10/out/production/sesion_10/eventos/Mensajero.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Open-Bootcamp/java_basico/7f228f3fe2aaac4aea565d249b1fe79dfe1392d5/sesion_10/out/production/sesion_10/eventos/Mensajero.class
--------------------------------------------------------------------------------
/sesion_10/out/production/sesion_10/eventos/Receptor.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Open-Bootcamp/java_basico/7f228f3fe2aaac4aea565d249b1fe79dfe1392d5/sesion_10/out/production/sesion_10/eventos/Receptor.class
--------------------------------------------------------------------------------
/sesion_10/out/production/sesion_10/eventos/ReceptorMusical.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Open-Bootcamp/java_basico/7f228f3fe2aaac4aea565d249b1fe79dfe1392d5/sesion_10/out/production/sesion_10/eventos/ReceptorMusical.class
--------------------------------------------------------------------------------
/sesion_10/out/production/sesion_10/swingTax/swingTax$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Open-Bootcamp/java_basico/7f228f3fe2aaac4aea565d249b1fe79dfe1392d5/sesion_10/out/production/sesion_10/swingTax/swingTax$1.class
--------------------------------------------------------------------------------
/sesion_10/out/production/sesion_10/swingTax/swingTax.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Open-Bootcamp/java_basico/7f228f3fe2aaac4aea565d249b1fe79dfe1392d5/sesion_10/out/production/sesion_10/swingTax/swingTax.class
--------------------------------------------------------------------------------
/sesion_10/out/production/swingTax/com/intellij/uiDesigner/core/AbstractLayout.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Open-Bootcamp/java_basico/7f228f3fe2aaac4aea565d249b1fe79dfe1392d5/sesion_10/out/production/swingTax/com/intellij/uiDesigner/core/AbstractLayout.class
--------------------------------------------------------------------------------
/sesion_10/out/production/swingTax/com/intellij/uiDesigner/core/DimensionInfo.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Open-Bootcamp/java_basico/7f228f3fe2aaac4aea565d249b1fe79dfe1392d5/sesion_10/out/production/swingTax/com/intellij/uiDesigner/core/DimensionInfo.class
--------------------------------------------------------------------------------
/sesion_10/out/production/swingTax/com/intellij/uiDesigner/core/GridConstraints.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Open-Bootcamp/java_basico/7f228f3fe2aaac4aea565d249b1fe79dfe1392d5/sesion_10/out/production/swingTax/com/intellij/uiDesigner/core/GridConstraints.class
--------------------------------------------------------------------------------
/sesion_10/out/production/swingTax/com/intellij/uiDesigner/core/GridLayoutManager.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Open-Bootcamp/java_basico/7f228f3fe2aaac4aea565d249b1fe79dfe1392d5/sesion_10/out/production/swingTax/com/intellij/uiDesigner/core/GridLayoutManager.class
--------------------------------------------------------------------------------
/sesion_10/out/production/swingTax/com/intellij/uiDesigner/core/HorizontalInfo.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Open-Bootcamp/java_basico/7f228f3fe2aaac4aea565d249b1fe79dfe1392d5/sesion_10/out/production/swingTax/com/intellij/uiDesigner/core/HorizontalInfo.class
--------------------------------------------------------------------------------
/sesion_10/out/production/swingTax/com/intellij/uiDesigner/core/LayoutState.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Open-Bootcamp/java_basico/7f228f3fe2aaac4aea565d249b1fe79dfe1392d5/sesion_10/out/production/swingTax/com/intellij/uiDesigner/core/LayoutState.class
--------------------------------------------------------------------------------
/sesion_10/out/production/swingTax/com/intellij/uiDesigner/core/Spacer.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Open-Bootcamp/java_basico/7f228f3fe2aaac4aea565d249b1fe79dfe1392d5/sesion_10/out/production/swingTax/com/intellij/uiDesigner/core/Spacer.class
--------------------------------------------------------------------------------
/sesion_10/out/production/swingTax/com/intellij/uiDesigner/core/SupportCode$TextWithMnemonic.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Open-Bootcamp/java_basico/7f228f3fe2aaac4aea565d249b1fe79dfe1392d5/sesion_10/out/production/swingTax/com/intellij/uiDesigner/core/SupportCode$TextWithMnemonic.class
--------------------------------------------------------------------------------
/sesion_10/out/production/swingTax/com/intellij/uiDesigner/core/SupportCode.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Open-Bootcamp/java_basico/7f228f3fe2aaac4aea565d249b1fe79dfe1392d5/sesion_10/out/production/swingTax/com/intellij/uiDesigner/core/SupportCode.class
--------------------------------------------------------------------------------
/sesion_10/out/production/swingTax/com/intellij/uiDesigner/core/Util.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Open-Bootcamp/java_basico/7f228f3fe2aaac4aea565d249b1fe79dfe1392d5/sesion_10/out/production/swingTax/com/intellij/uiDesigner/core/Util.class
--------------------------------------------------------------------------------
/sesion_10/out/production/swingTax/com/intellij/uiDesigner/core/VerticalInfo.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Open-Bootcamp/java_basico/7f228f3fe2aaac4aea565d249b1fe79dfe1392d5/sesion_10/out/production/swingTax/com/intellij/uiDesigner/core/VerticalInfo.class
--------------------------------------------------------------------------------
/sesion_10/sesion_10.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/sesion_10/src/ejemploJSON/Main.java:
--------------------------------------------------------------------------------
1 | package ejemploJSON;
2 |
3 | import java.io.InputStream;
4 | import java.io.FileInputStream;
5 |
6 | import org.json.*;
7 |
8 | public class Main {
9 | public static void main(String []args) {
10 |
11 | try {
12 | // Creamos el inputstream desde un fichero
13 | InputStream is = new FileInputStream("datos.json");
14 |
15 | // Creamos un tokenizador que leera desde nuestro IS
16 | JSONTokener tokener = new JSONTokener(is);
17 |
18 | // Y se lo pasamos a una instancia de la clase JSONObject
19 | JSONObject obj = new JSONObject(tokener);
20 |
21 | // Sacamos las credenciales:
22 | JSONObject credenciales = obj.getJSONObject("credenciales");
23 |
24 | String usuario = credenciales.getString("usuario");
25 | String clave = credenciales.getString("clave");
26 |
27 | System.out.println("Usuario " + usuario + " clave " + clave);
28 |
29 | // Dentro de credenciales tenemos los videos:
30 | JSONArray videos = credenciales.getJSONArray("videos");
31 | for (Object video : videos) {
32 | System.out.println(video.toString());
33 | }
34 |
35 | } catch (Exception e) {
36 | System.out.println("No puedo leer el fichero: " + e.getMessage());
37 | }
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/sesion_10/src/ejemploXML/Main.java:
--------------------------------------------------------------------------------
1 | package ejemploXML;
2 |
3 | import org.w3c.dom.Document;
4 | import org.w3c.dom.NamedNodeMap;
5 | import org.w3c.dom.Node;
6 | import org.w3c.dom.NodeList;
7 |
8 | import javax.xml.parsers.DocumentBuilder;
9 | import javax.xml.parsers.DocumentBuilderFactory;
10 | import java.io.File;
11 |
12 | public class Main
13 | {
14 | public static void main(String []args) {
15 | File file = new File("datos.xml");
16 | DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
17 |
18 | try {
19 | DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
20 |
21 | try {
22 | // Analizamos el documento
23 | Document document = documentBuilder.parse(file);
24 |
25 | // Obtenemos usuario y clave
26 | String usuario = document.getElementsByTagName("usuario").item(0).getTextContent();
27 | String clave = document.getElementsByTagName("clave").item(0).getTextContent();
28 |
29 | // Mostramos usuario y clave:
30 | System.out.println("Usuario: " + usuario + " Clave: " + clave);
31 |
32 | // Vamos a mostrar el atributo "proveedor"
33 | NamedNodeMap atributos = document.getElementsByTagName("videos").item(0).getAttributes();
34 |
35 | for (int i = 0; i < atributos.getLength(); i++) {
36 | String atributoNombre = atributos.item(i).getNodeName();
37 | String atributoValor = atributos.item(i).getNodeValue();
38 |
39 | System.out.println("Atributo " + atributoNombre + " contiene " + atributoValor );
40 | }
41 |
42 | // Mostramos los videos que hay asociados
43 | NodeList videos = document.getElementsByTagName("videos");
44 |
45 | for (int i = 0; i < videos.getLength(); i++) {
46 | Node video = videos.item(i);
47 | System.out.print(video.getTextContent());
48 | }
49 |
50 | } catch (Exception e) {
51 | System.out.println("Error procesando documento:" + e.getMessage());
52 | }
53 |
54 | } catch (Exception e) {
55 | System.out.println("Error al utilizar el builder: " + e.getMessage());
56 | }
57 |
58 |
59 | }
60 | }
61 |
--------------------------------------------------------------------------------
/sesion_10/src/eventos/Main.java:
--------------------------------------------------------------------------------
1 | package eventos;
2 |
3 | import java.util.ArrayList;
4 |
5 | interface Mensajero {
6 | void hanSaludado();
7 | }
8 |
9 | class Receptor implements Mensajero {
10 | @Override
11 | public void hanSaludado() {
12 | System.out.println(Math.random());
13 | }
14 | }
15 |
16 | class ReceptorMusical implements Mensajero {
17 | @Override
18 | public void hanSaludado() {
19 | System.out.println("Soy un receptor musical");
20 | }
21 | }
22 |
23 | class Emisor {
24 | private ArrayList receptores = new ArrayList();
25 |
26 | public void meteReceptor(Mensajero receptor) {
27 | receptores.add(receptor);
28 | }
29 |
30 | public void saluda() {
31 | for (Mensajero ml : receptores) {
32 | ml.hanSaludado();
33 | }
34 | }
35 | }
36 |
37 |
38 |
39 | public class Main
40 | {
41 | public static void main(String []args) {
42 | Emisor emisor = new Emisor();
43 | Receptor receptor = new Receptor();
44 | Receptor receptor2 = new Receptor();
45 | Receptor receptor3 = new Receptor();
46 | Receptor receptor4 = new Receptor();
47 | ReceptorMusical rm = new ReceptorMusical();
48 |
49 | emisor.meteReceptor(receptor);
50 | emisor.meteReceptor(receptor2);
51 | emisor.meteReceptor(receptor3);
52 | emisor.meteReceptor(receptor4);
53 | emisor.meteReceptor(rm);
54 |
55 | emisor.saluda();
56 | }
57 | }
58 |
--------------------------------------------------------------------------------
/sesion_10/src/swingTax/swingTax.form:
--------------------------------------------------------------------------------
1 |
2 |
70 |
--------------------------------------------------------------------------------
/sesion_10/src/swingTax/swingTax.java:
--------------------------------------------------------------------------------
1 | package swingTax;
2 |
3 | import javax.swing.*;
4 | import java.awt.event.ActionEvent;
5 | import java.awt.event.ActionListener;
6 | import java.awt.event.KeyAdapter;
7 | import java.awt.event.KeyEvent;
8 |
9 | public class swingTax {
10 | private JButton calculate;
11 | private JTextField price;
12 | private JTextField tax;
13 | private JTextField total;
14 | private JPanel taxPanel;
15 |
16 |
17 | public swingTax() {
18 | calculate.addActionListener(new ActionListener() {
19 | @Override
20 | public void actionPerformed(ActionEvent e) {
21 | double p = Double.parseDouble(price.getText());
22 | double t = Double.parseDouble(tax.getText());
23 |
24 | double result = p + (p / 100 * t);
25 | total.setText(Double.toString(result));
26 | }
27 | });
28 | }
29 |
30 | public static void main (String []args) {
31 | JFrame frame = new JFrame("Open Bootcamp");
32 | frame.setContentPane(new swingTax().taxPanel);
33 | frame.setVisible(true);
34 | frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/sesiones_1_2_3/ob-sesion1/.idea/.gitignore:
--------------------------------------------------------------------------------
1 | # Default ignored files
2 | /shelf/
3 | /workspace.xml
4 | # Datasource local storage ignored files
5 | /dataSources/
6 | /dataSources.local.xml
7 | # Editor-based HTTP Client requests
8 | /httpRequests/
9 |
--------------------------------------------------------------------------------
/sesiones_1_2_3/ob-sesion1/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/sesiones_1_2_3/ob-sesion1/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/sesiones_1_2_3/ob-sesion1/.idea/runConfigurations.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/sesiones_1_2_3/ob-sesion1/.idea/uiDesigner.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | -
6 |
7 |
8 | -
9 |
10 |
11 | -
12 |
13 |
14 | -
15 |
16 |
17 | -
18 |
19 |
20 |
21 |
22 |
23 | -
24 |
25 |
26 |
27 |
28 |
29 | -
30 |
31 |
32 |
33 |
34 |
35 | -
36 |
37 |
38 |
39 |
40 |
41 | -
42 |
43 |
44 |
45 |
46 | -
47 |
48 |
49 |
50 |
51 | -
52 |
53 |
54 |
55 |
56 | -
57 |
58 |
59 |
60 |
61 | -
62 |
63 |
64 |
65 |
66 | -
67 |
68 |
69 |
70 |
71 | -
72 |
73 |
74 | -
75 |
76 |
77 |
78 |
79 | -
80 |
81 |
82 |
83 |
84 | -
85 |
86 |
87 |
88 |
89 | -
90 |
91 |
92 |
93 |
94 | -
95 |
96 |
97 |
98 |
99 | -
100 |
101 |
102 | -
103 |
104 |
105 | -
106 |
107 |
108 | -
109 |
110 |
111 | -
112 |
113 |
114 |
115 |
116 | -
117 |
118 |
119 | -
120 |
121 |
122 |
123 |
124 |
--------------------------------------------------------------------------------
/sesiones_1_2_3/ob-sesion1/README.md:
--------------------------------------------------------------------------------
1 |
2 | ## Ejercicio Sesión 1:
3 |
4 | * Crear un proyecto java desde cero.
5 | * Crear un paquete.
6 | * Dentro del paquete crear una clase.
7 | * Dentro de la clase crear un método main
8 | * Imprimir todos los tipos de datos vistos.
9 | *
10 | * Tipos de datos mas comunes:
11 | * int, long, double, boolean, String
12 |
13 | ## Ejercicio sesión 2:
14 |
15 | * Crear una funcion que reciba un precio y devuelva el precio con el IVA incluido
16 |
17 | ## Ejercicio sesión 3:
18 |
19 | * Crear un bucle que permita concatenar textos y imprima el resultado final por consola.
20 | * Concatenar nombres
21 | * Los textos pueden venir de un array String
22 | * String[] nombres = {"", "", "", ""};
23 | * Separados por un espacio
24 | * Se puede usar el método concat o si no el operador +
25 | Ejemplo
26 | * "Pepe", "Juan", "Anthony"
27 | Resultado:
28 | * Pepe Juan Anthony (en la misma línea)
29 |
--------------------------------------------------------------------------------
/sesiones_1_2_3/ob-sesion1/ob-sesion1.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/sesiones_1_2_3/ob-sesion1/out/production/ob-sesion1/com/example/AdiosMundo.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Open-Bootcamp/java_basico/7f228f3fe2aaac4aea565d249b1fe79dfe1392d5/sesiones_1_2_3/ob-sesion1/out/production/ob-sesion1/com/example/AdiosMundo.class
--------------------------------------------------------------------------------
/sesiones_1_2_3/ob-sesion1/out/production/ob-sesion1/com/example/HolaMundo.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Open-Bootcamp/java_basico/7f228f3fe2aaac4aea565d249b1fe79dfe1392d5/sesiones_1_2_3/ob-sesion1/out/production/ob-sesion1/com/example/HolaMundo.class
--------------------------------------------------------------------------------
/sesiones_1_2_3/ob-sesion1/out/production/ob-sesion1/com/example/estructurascontrol/condicionales/If.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Open-Bootcamp/java_basico/7f228f3fe2aaac4aea565d249b1fe79dfe1392d5/sesiones_1_2_3/ob-sesion1/out/production/ob-sesion1/com/example/estructurascontrol/condicionales/If.class
--------------------------------------------------------------------------------
/sesiones_1_2_3/ob-sesion1/out/production/ob-sesion1/com/example/estructurascontrol/condicionales/IfElse.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Open-Bootcamp/java_basico/7f228f3fe2aaac4aea565d249b1fe79dfe1392d5/sesiones_1_2_3/ob-sesion1/out/production/ob-sesion1/com/example/estructurascontrol/condicionales/IfElse.class
--------------------------------------------------------------------------------
/sesiones_1_2_3/ob-sesion1/out/production/ob-sesion1/com/example/estructurascontrol/condicionales/IfElseIf.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Open-Bootcamp/java_basico/7f228f3fe2aaac4aea565d249b1fe79dfe1392d5/sesiones_1_2_3/ob-sesion1/out/production/ob-sesion1/com/example/estructurascontrol/condicionales/IfElseIf.class
--------------------------------------------------------------------------------
/sesiones_1_2_3/ob-sesion1/out/production/ob-sesion1/com/example/estructurascontrol/condicionales/Switch.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Open-Bootcamp/java_basico/7f228f3fe2aaac4aea565d249b1fe79dfe1392d5/sesiones_1_2_3/ob-sesion1/out/production/ob-sesion1/com/example/estructurascontrol/condicionales/Switch.class
--------------------------------------------------------------------------------
/sesiones_1_2_3/ob-sesion1/out/production/ob-sesion1/com/example/estructurascontrol/repeticion/For.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Open-Bootcamp/java_basico/7f228f3fe2aaac4aea565d249b1fe79dfe1392d5/sesiones_1_2_3/ob-sesion1/out/production/ob-sesion1/com/example/estructurascontrol/repeticion/For.class
--------------------------------------------------------------------------------
/sesiones_1_2_3/ob-sesion1/out/production/ob-sesion1/com/example/estructurascontrol/repeticion/ForEach.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Open-Bootcamp/java_basico/7f228f3fe2aaac4aea565d249b1fe79dfe1392d5/sesiones_1_2_3/ob-sesion1/out/production/ob-sesion1/com/example/estructurascontrol/repeticion/ForEach.class
--------------------------------------------------------------------------------
/sesiones_1_2_3/ob-sesion1/out/production/ob-sesion1/com/example/estructurascontrol/repeticion/While.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Open-Bootcamp/java_basico/7f228f3fe2aaac4aea565d249b1fe79dfe1392d5/sesiones_1_2_3/ob-sesion1/out/production/ob-sesion1/com/example/estructurascontrol/repeticion/While.class
--------------------------------------------------------------------------------
/sesiones_1_2_3/ob-sesion1/out/production/ob-sesion1/com/example/funciones/Funciones.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Open-Bootcamp/java_basico/7f228f3fe2aaac4aea565d249b1fe79dfe1392d5/sesiones_1_2_3/ob-sesion1/out/production/ob-sesion1/com/example/funciones/Funciones.class
--------------------------------------------------------------------------------
/sesiones_1_2_3/ob-sesion1/out/production/ob-sesion1/com/example/funciones/Funciones2.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Open-Bootcamp/java_basico/7f228f3fe2aaac4aea565d249b1fe79dfe1392d5/sesiones_1_2_3/ob-sesion1/out/production/ob-sesion1/com/example/funciones/Funciones2.class
--------------------------------------------------------------------------------
/sesiones_1_2_3/ob-sesion1/out/production/ob-sesion1/com/example/funciones/Sobrecarga.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Open-Bootcamp/java_basico/7f228f3fe2aaac4aea565d249b1fe79dfe1392d5/sesiones_1_2_3/ob-sesion1/out/production/ob-sesion1/com/example/funciones/Sobrecarga.class
--------------------------------------------------------------------------------
/sesiones_1_2_3/ob-sesion1/out/production/ob-sesion1/com/example/tiposdatos/Operadores.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Open-Bootcamp/java_basico/7f228f3fe2aaac4aea565d249b1fe79dfe1392d5/sesiones_1_2_3/ob-sesion1/out/production/ob-sesion1/com/example/tiposdatos/Operadores.class
--------------------------------------------------------------------------------
/sesiones_1_2_3/ob-sesion1/out/production/ob-sesion1/com/example/tiposdatos/Tipos.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Open-Bootcamp/java_basico/7f228f3fe2aaac4aea565d249b1fe79dfe1392d5/sesiones_1_2_3/ob-sesion1/out/production/ob-sesion1/com/example/tiposdatos/Tipos.class
--------------------------------------------------------------------------------
/sesiones_1_2_3/ob-sesion1/src/com/example/AdiosMundo.java:
--------------------------------------------------------------------------------
1 | package com.example;
2 |
3 | /**
4 | * Clase de prueba para crear un programa básico en java
5 | */
6 | public class AdiosMundo {
7 |
8 |
9 | /**
10 | * Punto de entrada a la aplicación java
11 | * Permite ejecutar la aplicación
12 | * @param args - argumentos de entrada para la aplicación
13 | */
14 | public static void main(String[] args){
15 |
16 | // esto es un comentario
17 | System.out.println("Adios mundo cruel!"); // esto es otro comentario
18 |
19 | /*
20 | Esto es un comentario multilínea:
21 | 1 - Crear funcion suma
22 | 2 - Crear variables tipo numérico
23 | 3 - Utilizar la función suma para calcular la suma de los dos números
24 | */
25 |
26 |
27 | }
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/sesiones_1_2_3/ob-sesion1/src/com/example/HolaMundo.java:
--------------------------------------------------------------------------------
1 | package com.example;
2 |
3 | public class HolaMundo {
4 |
5 | public static void main(String[] args){
6 |
7 | System.out.println("Hola mundo desde sesión 1 de Open Bootcamp");
8 |
9 | }
10 |
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/sesiones_1_2_3/ob-sesion1/src/com/example/estructurascontrol/condicionales/If.java:
--------------------------------------------------------------------------------
1 | package com.example.estructurascontrol.condicionales;
2 |
3 | public class If {
4 |
5 | public static void main(String[] args) {
6 |
7 | int edad = 19;
8 | boolean esMayor = edad >= 18; // false
9 |
10 | if(esMayor){
11 | System.out.println("Es mayor de edad");
12 | }
13 |
14 | if(edad >= 18){
15 | System.out.println("Es mayor de edad");
16 | }
17 |
18 |
19 |
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/sesiones_1_2_3/ob-sesion1/src/com/example/estructurascontrol/condicionales/IfElse.java:
--------------------------------------------------------------------------------
1 | package com.example.estructurascontrol.condicionales;
2 |
3 | public class IfElse {
4 |
5 | public static void main(String[] args) {
6 |
7 | int edad = 16;
8 |
9 | if (edad >= 18) { // si true entra aquí
10 | System.out.println("Es mayor de edad");
11 | } else { // si false entra aquí
12 | System.out.println("Es menor de edad");
13 | }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/sesiones_1_2_3/ob-sesion1/src/com/example/estructurascontrol/condicionales/IfElseIf.java:
--------------------------------------------------------------------------------
1 | package com.example.estructurascontrol.condicionales;
2 |
3 | public class IfElseIf {
4 |
5 | public static void main(String[] args) {
6 |
7 | String dia = "DiaNostro";
8 |
9 | // ejemplos comparar
10 | boolean resultadoCompararNum = 5 == 5;
11 | boolean resultado = dia.equals("Martes");
12 |
13 | // if else if
14 |
15 | if (dia.equals("Lunes")) {
16 | System.out.println("Animo con la semana champions");
17 |
18 | } else if (dia.equals("Martes")) {
19 | System.out.println("Martes con M de Me besas");
20 |
21 | } else if (dia.equals("Miercoles")) {
22 | System.out.println("Miercoles con M de Me besas");
23 |
24 | } else if (dia.equals("Jueves")) {
25 | System.out.println("Ya es juernes");
26 |
27 | } else if (dia.equals("Viernes")) {
28 | System.out.println("Nos fuimos!");
29 |
30 | } else if (dia.equals("Sabado")) {
31 | System.out.println("Nos murimos!");
32 |
33 | } else if (dia.equals("Domingo")) {
34 | System.out.println("Depresión");
35 | } else {
36 | System.out.println("El día introducido no es un día válido.");
37 | }
38 |
39 |
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/sesiones_1_2_3/ob-sesion1/src/com/example/estructurascontrol/condicionales/Switch.java:
--------------------------------------------------------------------------------
1 | package com.example.estructurascontrol.condicionales;
2 |
3 | public class Switch {
4 | public static void main(String[] args) {
5 |
6 | String dia = "Martes";
7 |
8 | switch(dia){
9 | case "Lunes":
10 | System.out.println("Hoy es Lunes!! Animo!!");
11 | break;
12 | case "Martes":
13 | System.out.println("Hoy es Martes!! Animo!!");
14 | break;
15 | case "Miercoles":
16 | System.out.println("Hoy es Miercoles!! Animo!!");
17 | break;
18 | case "Jueves":
19 | System.out.println("Hoy es Jueves!! Animo!!");
20 | break;
21 | case "Viernes":
22 | System.out.println("Hoy es Viernes!! Animo!!");
23 | break;
24 | case "Sabado":
25 | System.out.println("Hoy es Sabado!! Animo!!");
26 | break;
27 | case "Domingo":
28 | System.out.println("Hoy es Domingo!! Animo!!");
29 | break;
30 | default:
31 | System.out.println("No es un día válido");
32 |
33 | }
34 |
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/sesiones_1_2_3/ob-sesion1/src/com/example/estructurascontrol/repeticion/ConcatenarTextos.java:
--------------------------------------------------------------------------------
1 | package com.example.estructurascontrol.repeticion;
2 |
3 | public class ConcatenarTextos {
4 |
5 | public static void main(String[] args) {
6 |
7 | String[] nombres = {"Pepito", "Juanit", "eveready"};
8 |
9 | for(String nombre : nombres){
10 |
11 | }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/sesiones_1_2_3/ob-sesion1/src/com/example/estructurascontrol/repeticion/For.java:
--------------------------------------------------------------------------------
1 | package com.example.estructurascontrol.repeticion;
2 |
3 | public class For {
4 |
5 | public static void main(String[] args) {
6 |
7 | for(int i = 0; i < 20; i++){
8 | // System.out.println("El valor de i es: " + i );
9 | // System.out.println("Hola mundo");
10 | }
11 | // 0 1 2
12 | String[] nombres = {"Pepe", "Juanito", "Ruperta"}; // length 3
13 | for(int i = 0; i < nombres.length; i++){
14 | System.out.println(nombres[i]);
15 | }
16 |
17 | int suma = 0;
18 | int[] numeros = {5, 7, 8}; // length 3
19 | for(int i = 0; i < numeros.length; i++){
20 | // suma = suma + numeros[i];
21 | suma += numeros[i];
22 | }
23 |
24 |
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/sesiones_1_2_3/ob-sesion1/src/com/example/estructurascontrol/repeticion/ForEach.java:
--------------------------------------------------------------------------------
1 | package com.example.estructurascontrol.repeticion;
2 |
3 | public class ForEach {
4 |
5 | public static void main(String[] args) {
6 | String[] nombres = {"Pepe", "Juanito", "Ruperta"};
7 |
8 | for(String nombre : nombres){
9 | System.out.println(nombre);
10 | }
11 |
12 | int[] numeros = {5, 10 , 15};
13 |
14 | int suma = 0;
15 | for(int numero : numeros){
16 | suma += numero;
17 | }
18 | System.out.println(suma);
19 |
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/sesiones_1_2_3/ob-sesion1/src/com/example/estructurascontrol/repeticion/While.java:
--------------------------------------------------------------------------------
1 | package com.example.estructurascontrol.repeticion;
2 |
3 | /**
4 | * Crear un bucle que permita concatenar textos y imprima el resultado final por consola.
5 | * Concatenar nombres
6 | * Los textos pueden venir de un array String
7 | * String[] nombres = {"", "", "", ""};
8 | */
9 | public class While {
10 |
11 | public static void main(String[] args) {
12 |
13 | int contador = 0;
14 |
15 | while(contador < 10){
16 | String nombre = "Prueba";
17 | contador++;
18 | if (contador == 5){
19 | // break;
20 | continue;
21 | }
22 | System.out.println("Valor de contador " + contador);
23 | }
24 | // Variable nombre está fuera del ámbito del que se creó
25 | // System.out.println(nombre);
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/sesiones_1_2_3/ob-sesion1/src/com/example/funciones/Funciones.java:
--------------------------------------------------------------------------------
1 | package com.example.funciones;
2 |
3 | /**
4 | * Crear una funcion que reciba un precio y devuelva el precio con el IVA incluido
5 | */
6 | public class Funciones {
7 |
8 | static double getPrice() {
9 | return 100.99;
10 | }
11 |
12 |
13 | /**
14 | * void indica que no devuelve nada
15 | */
16 | static void showMenu(){
17 | System.out.println("Bienvenidos al E-commerce de zapatillas:");
18 | System.out.println("1 - Ver zapatillas");
19 | System.out.println("2 - Comprar zapatilla");
20 | System.out.println("3 - Salir");
21 | }
22 |
23 | static String getMenu(){
24 | System.out.println("Imprimiendo texto prueba");
25 | return "Bienvenidos al E-commerce de zapatillas: \n 1 - Ver zapatillas....";
26 | }
27 |
28 | public static void main(String[] args) {
29 |
30 | // opcion 1: funcion sin parámetros y sin tipo de retorno
31 | // showMenu();
32 | // showMenu();
33 |
34 | // opcion 2: funcion sin parámetros y con tipo de retorno
35 | String menu = getMenu();
36 | System.out.println(menu);
37 | System.out.println(getMenu());
38 |
39 | double price = getPrice();
40 | System.out.println(price);
41 |
42 | // opcion 3:
43 | // funcion con parametros y sin tipo de retorno
44 | imprimirSaludoBuenosDias("OpenBootcamp");
45 |
46 | // opcion4:
47 | // funcion con parámetros y con tipo de retorno
48 | String nombre = "Alan";
49 | String apellido = "Sastre";
50 | String saludo = obtenerSaludo(nombre, apellido);
51 | System.out.println(saludo);
52 |
53 | int resultadoSuma = suma(50, 200);
54 | }
55 |
56 | static int suma(int numero1, int numero2){
57 | return numero1 + numero2;
58 | }
59 |
60 |
61 | static String obtenerSaludo(String nombre, String apellido){
62 | return "Buenas tardes " + nombre + " " + apellido;
63 | }
64 |
65 |
66 | static void imprimirSaludoBuenosDias(String nombre){
67 | System.out.println("Buenas tardes " + nombre);
68 | }
69 |
70 |
71 |
72 | }
73 |
--------------------------------------------------------------------------------
/sesiones_1_2_3/ob-sesion1/src/com/example/funciones/Funciones2.java:
--------------------------------------------------------------------------------
1 | package com.example.funciones;
2 |
3 | public class Funciones2 {
4 |
5 | public static void main(String[] args) {
6 |
7 | int resultado1 = suma(50, 50);
8 | int resultado2 = suma(10, 50);
9 | int resultado3 = suma(50, 600);
10 | int resultado4 = suma(44, 50);
11 |
12 | }
13 |
14 | static int suma(int numero1, int numero2){
15 | return numero1 + numero2;
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/sesiones_1_2_3/ob-sesion1/src/com/example/funciones/Sobrecarga.java:
--------------------------------------------------------------------------------
1 | package com.example.funciones;
2 |
3 | /**
4 | * Sobrecarga permite duplicar un método siempre y cuando tengan diferente numero/tipo parametros.
5 | */
6 | public class Sobrecarga {
7 |
8 | public static void main(String[] args) {
9 |
10 | }
11 |
12 | static double suma(double numero1, double numero2){
13 | return numero1 + numero2;
14 | }
15 |
16 | static int suma(int numero1, int numero2){
17 | return numero1 + numero2;
18 | }
19 |
20 | static int suma(int numero1, int numero2, int numero3){
21 | return numero1 + numero2 + numero3;
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/sesiones_1_2_3/ob-sesion1/src/com/example/tiposdatos/Operadores.java:
--------------------------------------------------------------------------------
1 | package com.example.tiposdatos;
2 |
3 | public class Operadores {
4 |
5 | public static void main(String[] args) {
6 |
7 | // aritmeticos:
8 | int numero1 = 10;
9 | int numero2 = 20;
10 | int resultadoSuma = numero1 + numero2; // 30
11 |
12 | System.out.println(resultadoSuma);
13 | System.out.println(resultadoSuma + 5.77);
14 |
15 | int resultadoResta = numero1 - numero2;
16 |
17 | /*
18 | comparación:
19 | > mayor que
20 | < menor que
21 | >= mayor igual que
22 | <= menor igual que
23 | == igual que
24 | === IMPORTANTE: EN JAVA NO EXISTE!!!!
25 | */
26 | boolean resultado1 = numero1 > numero2; // false
27 | System.out.println(resultado1);
28 |
29 | boolean resultado2 = numero1 < numero2; // true
30 | System.out.println(resultado2);
31 |
32 | /*
33 |
34 | Lógicos
35 | and &&
36 | or ||
37 | */
38 |
39 | boolean resultado3 = numero1 > 5 && numero1 < 30;
40 |
41 | int edad = 17;
42 | boolean carnetJoven = edad >= 15 && edad <= 26;
43 |
44 | // operadores
45 | // incremento ++
46 | // decremento --
47 |
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/sesiones_1_2_3/ob-sesion1/src/com/example/tiposdatos/Tipos.java:
--------------------------------------------------------------------------------
1 | package com.example.tiposdatos;
2 |
3 |
4 | /**
5 | * Crear un proyecto java desde cero.
6 | * Crear un paquete.
7 | * Dentro del paquete crear una clase.
8 | * Dentro de la clase crear un método main
9 | * Imprimir todos los tipos de datos vistos.
10 | *
11 | * Tipos de datos mas comunes:
12 | * int, long, double, boolean, String
13 | */
14 | public class Tipos {
15 |
16 | public static void main(String[] args) {
17 |
18 | // 1. numericos
19 |
20 |
21 | // 1.1 enteros
22 | byte variable1 = 5;
23 | System.out.println(variable1);
24 | short variable2 = 10;
25 | int variable3 = 30;
26 | long variable4 = 100;
27 | long numeroTelefono = 666555444;
28 | // long precio = null;
29 |
30 | // 1.2 decimales
31 | float variable5 = 5.5f;
32 | double variable6 = 10.5d;
33 | variable6 = 20.5d;
34 | double precioSilla = 49.99;
35 |
36 | // 2. booleano
37 | boolean variable7 = false;
38 | boolean variable8 = true;
39 |
40 | // 3. texto
41 | char variable9 = 'a';
42 | String variable10 = "Lorem ipsum dolor sit amet.....";
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/sesiones_4_5_6/ob-poo/.idea/.gitignore:
--------------------------------------------------------------------------------
1 | # Default ignored files
2 | /shelf/
3 | /workspace.xml
4 | # Datasource local storage ignored files
5 | /dataSources/
6 | /dataSources.local.xml
7 | # Editor-based HTTP Client requests
8 | /httpRequests/
9 |
--------------------------------------------------------------------------------
/sesiones_4_5_6/ob-poo/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/sesiones_4_5_6/ob-poo/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/sesiones_4_5_6/ob-poo/.idea/runConfigurations.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/sesiones_4_5_6/ob-poo/.idea/uiDesigner.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | -
6 |
7 |
8 | -
9 |
10 |
11 | -
12 |
13 |
14 | -
15 |
16 |
17 | -
18 |
19 |
20 |
21 |
22 |
23 | -
24 |
25 |
26 |
27 |
28 |
29 | -
30 |
31 |
32 |
33 |
34 |
35 | -
36 |
37 |
38 |
39 |
40 |
41 | -
42 |
43 |
44 |
45 |
46 | -
47 |
48 |
49 |
50 |
51 | -
52 |
53 |
54 |
55 |
56 | -
57 |
58 |
59 |
60 |
61 | -
62 |
63 |
64 |
65 |
66 | -
67 |
68 |
69 |
70 |
71 | -
72 |
73 |
74 | -
75 |
76 |
77 |
78 |
79 | -
80 |
81 |
82 |
83 |
84 | -
85 |
86 |
87 |
88 |
89 | -
90 |
91 |
92 |
93 |
94 | -
95 |
96 |
97 |
98 |
99 | -
100 |
101 |
102 | -
103 |
104 |
105 | -
106 |
107 |
108 | -
109 |
110 |
111 | -
112 |
113 |
114 |
115 |
116 | -
117 |
118 |
119 | -
120 |
121 |
122 |
123 |
124 |
--------------------------------------------------------------------------------
/sesiones_4_5_6/ob-poo/README.md:
--------------------------------------------------------------------------------
1 | # Ejercicios para la sesión de Java básico de hoy 08/10/2021
2 |
3 | ## Ejercicio 1
4 |
5 | Crear una clase SmartDevice
6 |
7 | Crear las clases hijas:
8 |
9 | SmartPhone
10 | SmartWatch
11 |
12 | Agregar atributos tal cual tendrían esos objetos en la realidad.
13 |
14 | Crear constructor vacío y con todo los parámetros para cada clase.
15 |
16 | Desde una clase Main: crear objetos de cada una y utilizarlos para imprimir sus valores por consola.
17 |
18 | ## Ejercicio 2
19 |
20 | Crear una interfaz CocheCRUD
21 |
22 | Crear una implementación CocheCRUDImpl que implemente la interfaz CocheCRUD.
23 |
24 | Como métodos de CocheCRUD podemos poner:
25 | * save()
26 | * findAll()
27 | * delete()
28 | que simplemente impriman por consola el nombre del propio método.
29 |
30 | Desde una clase Main, Crear un objeto de tipo CocheCRUDImpl y llamar a cada uno de los métodos.
31 |
32 | CocheCRUD cocheCrud = new CocheCRUDImpl();
33 |
34 |
35 | ## Ejercicio 3
36 |
37 | Ver los catálogos de técnicas de refactorización:
38 |
39 | https://refactoring.com/catalog/
40 |
41 | https://refactoring.guru/refactoring/catalog
--------------------------------------------------------------------------------
/sesiones_4_5_6/ob-poo/ob-poo.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/sesiones_4_5_6/ob-poo/out/production/ob-poo/poo/clases/Main.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Open-Bootcamp/java_basico/7f228f3fe2aaac4aea565d249b1fe79dfe1392d5/sesiones_4_5_6/ob-poo/out/production/ob-poo/poo/clases/Main.class
--------------------------------------------------------------------------------
/sesiones_4_5_6/ob-poo/out/production/ob-poo/poo/clases/Motor.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Open-Bootcamp/java_basico/7f228f3fe2aaac4aea565d249b1fe79dfe1392d5/sesiones_4_5_6/ob-poo/out/production/ob-poo/poo/clases/Motor.class
--------------------------------------------------------------------------------
/sesiones_4_5_6/ob-poo/out/production/ob-poo/poo/clases/Vehiculo.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Open-Bootcamp/java_basico/7f228f3fe2aaac4aea565d249b1fe79dfe1392d5/sesiones_4_5_6/ob-poo/out/production/ob-poo/poo/clases/Vehiculo.class
--------------------------------------------------------------------------------
/sesiones_4_5_6/ob-poo/out/production/ob-poo/poo/herencia/Camion.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Open-Bootcamp/java_basico/7f228f3fe2aaac4aea565d249b1fe79dfe1392d5/sesiones_4_5_6/ob-poo/out/production/ob-poo/poo/herencia/Camion.class
--------------------------------------------------------------------------------
/sesiones_4_5_6/ob-poo/out/production/ob-poo/poo/herencia/Coche.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Open-Bootcamp/java_basico/7f228f3fe2aaac4aea565d249b1fe79dfe1392d5/sesiones_4_5_6/ob-poo/out/production/ob-poo/poo/herencia/Coche.class
--------------------------------------------------------------------------------
/sesiones_4_5_6/ob-poo/out/production/ob-poo/poo/herencia/Motocicleta.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Open-Bootcamp/java_basico/7f228f3fe2aaac4aea565d249b1fe79dfe1392d5/sesiones_4_5_6/ob-poo/out/production/ob-poo/poo/herencia/Motocicleta.class
--------------------------------------------------------------------------------
/sesiones_4_5_6/ob-poo/out/production/ob-poo/poo/interfaces/Empleado.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Open-Bootcamp/java_basico/7f228f3fe2aaac4aea565d249b1fe79dfe1392d5/sesiones_4_5_6/ob-poo/out/production/ob-poo/poo/interfaces/Empleado.class
--------------------------------------------------------------------------------
/sesiones_4_5_6/ob-poo/out/production/ob-poo/poo/interfaces/EmpleadoCRUD.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Open-Bootcamp/java_basico/7f228f3fe2aaac4aea565d249b1fe79dfe1392d5/sesiones_4_5_6/ob-poo/out/production/ob-poo/poo/interfaces/EmpleadoCRUD.class
--------------------------------------------------------------------------------
/sesiones_4_5_6/ob-poo/out/production/ob-poo/poo/interfaces/Main.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Open-Bootcamp/java_basico/7f228f3fe2aaac4aea565d249b1fe79dfe1392d5/sesiones_4_5_6/ob-poo/out/production/ob-poo/poo/interfaces/Main.class
--------------------------------------------------------------------------------
/sesiones_4_5_6/ob-poo/src/poo/clases/Main.java:
--------------------------------------------------------------------------------
1 | package poo.clases;
2 |
3 | import poo.herencia.Camion;
4 | import poo.herencia.Coche;
5 | import poo.herencia.Motocicleta;
6 |
7 | public class Main {
8 |
9 | public static void main(String[] args) {
10 |
11 | // 1. clases y objetos
12 | // Clase identificador = new Clase();
13 | Vehiculo toyotaPrius = new Vehiculo();
14 | Motor motorGTI = new Motor("GTI", 190, 459.0, 6);
15 |
16 | Vehiculo fordMondeo = new Vehiculo("Ford", "Mondeo", 2.1, 2010, false, 0, motorGTI);
17 |
18 | System.out.println(fordMondeo.fabricante);
19 | System.out.println(fordMondeo.year);
20 | System.out.println(fordMondeo.speed); // 0
21 | fordMondeo.acelerar(50);
22 | System.out.println(fordMondeo.speed); // 50
23 |
24 | // 2. herencia
25 | Motocicleta kawasakiNinja = new Motocicleta();
26 | kawasakiNinja.fabricante = "Kawasaki";
27 |
28 |
29 | System.out.println("fin de programa");
30 |
31 | // 3. polimorfismo
32 | Vehiculo vehiculo;
33 |
34 | vehiculo = new Motocicleta();
35 | vehiculo.acelerar(50);
36 |
37 | vehiculo = new Coche();
38 | vehiculo.acelerar(50);
39 |
40 | vehiculo = new Camion();
41 | vehiculo.acelerar(50);
42 |
43 | // 4. clases abstractas: no se pueden instanciar, solo instancian las clases hijas
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/sesiones_4_5_6/ob-poo/src/poo/clases/Motor.java:
--------------------------------------------------------------------------------
1 | package poo.clases;
2 |
3 | public class Motor {
4 |
5 | // 1. atributos
6 | String modelo;
7 | int caballos;
8 | double parNm;
9 | int numCilindros;
10 |
11 | // 2. constructores
12 | public Motor(){
13 | }
14 |
15 | public Motor(String modelo, int caballos, double parNm, int numCilindros) {
16 | this.modelo = modelo;
17 | this.caballos = caballos;
18 | this.parNm = parNm;
19 | this.numCilindros = numCilindros;
20 | }
21 |
22 | // 3. métodos
23 |
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/sesiones_4_5_6/ob-poo/src/poo/clases/Vehiculo.java:
--------------------------------------------------------------------------------
1 | package poo.clases;
2 |
3 | /**
4 | * Clase base o superclase o clase padre
5 | */
6 | public class Vehiculo {
7 |
8 | // 1. atributos
9 | protected String fabricante;
10 | protected String modelo;
11 | protected double cc;
12 | protected int year;
13 | protected boolean sport;
14 | protected int speed;
15 | protected Motor motor;
16 |
17 | // 2. constructores
18 | public Vehiculo(){
19 |
20 | }
21 |
22 | public Vehiculo(String fabricante, String modelo, double cc, int year, boolean sport, int speed, Motor motor) {
23 | this.fabricante = fabricante;
24 | this.modelo = modelo;
25 | this.cc = cc;
26 | this.year = year;
27 | this.sport = sport;
28 | this.speed = speed;
29 | this.motor = motor;
30 | }
31 |
32 | public Vehiculo(String fabricante, String modelo){
33 | this.fabricante = fabricante;
34 | this.modelo = modelo;
35 | }
36 |
37 | public Vehiculo(String fabricante, int year) {
38 | this.fabricante = fabricante;
39 | this.year = year;
40 | }
41 |
42 | // 3. métodos (comportamiento)
43 | public void acelerar(int quantity){
44 | this.speed += quantity;
45 | }
46 |
47 | // getter y setter
48 |
49 | // toString
50 |
51 |
52 | }
53 |
--------------------------------------------------------------------------------
/sesiones_4_5_6/ob-poo/src/poo/coninterfaces/EmpleadoCRUD.java:
--------------------------------------------------------------------------------
1 | package poo.coninterfaces;
2 |
3 | import poo.sininterfaces.Empleado;
4 |
5 | import java.util.List;
6 |
7 | /**
8 | * Se declaran los métodos, no se implementan.
9 | *
10 | * Actúa como un contrato, dice lo que hay que hacer pero no lo hace
11 | */
12 | public interface EmpleadoCRUD {
13 |
14 | void save(Empleado empleado);
15 |
16 | List findAll();
17 |
18 | void delete(Empleado empleado);
19 | }
20 |
--------------------------------------------------------------------------------
/sesiones_4_5_6/ob-poo/src/poo/coninterfaces/EmpleadoCRUDExcel.java:
--------------------------------------------------------------------------------
1 | package poo.coninterfaces;
2 |
3 | import poo.sininterfaces.Empleado;
4 |
5 | import java.util.List;
6 |
7 | public class EmpleadoCRUDExcel implements EmpleadoCRUD {
8 | @Override
9 | public void save(Empleado empleado) {
10 |
11 | }
12 |
13 | @Override
14 | public List findAll() {
15 | return null;
16 | }
17 |
18 | @Override
19 | public void delete(Empleado empleado) {
20 |
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/sesiones_4_5_6/ob-poo/src/poo/coninterfaces/EmpleadoCRUDMySQL.java:
--------------------------------------------------------------------------------
1 | package poo.coninterfaces;
2 |
3 | import poo.sininterfaces.Empleado;
4 |
5 | import java.util.List;
6 |
7 | public class EmpleadoCRUDMySQL implements EmpleadoCRUD{
8 | @Override
9 | public void save(Empleado empleado) {
10 |
11 | }
12 |
13 | @Override
14 | public List findAll() {
15 | return null;
16 | }
17 |
18 | @Override
19 | public void delete(Empleado empleado) {
20 |
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/sesiones_4_5_6/ob-poo/src/poo/coninterfaces/EmpleadoReader.java:
--------------------------------------------------------------------------------
1 | package poo.coninterfaces;
2 |
3 | public interface EmpleadoReader {
4 | }
5 |
--------------------------------------------------------------------------------
/sesiones_4_5_6/ob-poo/src/poo/coninterfaces/Main.java:
--------------------------------------------------------------------------------
1 | package poo.coninterfaces;
2 |
3 | import poo.sininterfaces.Empleado;
4 |
5 | public class Main {
6 |
7 | static EmpleadoCRUD empleadoCRUD;
8 |
9 |
10 | public static void main(String[] args) {
11 |
12 | empleadoCRUD.findAll();
13 | empleadoCRUD.save(new Empleado());
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/sesiones_4_5_6/ob-poo/src/poo/herencia/Camion.java:
--------------------------------------------------------------------------------
1 | package poo.herencia;
2 |
3 | import poo.clases.Vehiculo;
4 |
5 | public class Camion extends Vehiculo {
6 |
7 | double capacidadCarga;
8 |
9 | public Camion(){
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/sesiones_4_5_6/ob-poo/src/poo/herencia/Coche.java:
--------------------------------------------------------------------------------
1 | package poo.herencia;
2 |
3 | import poo.clases.Vehiculo;
4 |
5 | public class Coche extends Vehiculo {
6 |
7 | int numPuertas;
8 | }
9 |
--------------------------------------------------------------------------------
/sesiones_4_5_6/ob-poo/src/poo/herencia/Motocicleta.java:
--------------------------------------------------------------------------------
1 | package poo.herencia;
2 |
3 | import poo.clases.Motor;
4 | import poo.clases.Vehiculo;
5 |
6 | /**
7 | * Clase derivada o clase hija o subclase
8 | */
9 | public class Motocicleta extends Vehiculo {
10 |
11 | boolean baul;
12 |
13 | public Motocicleta(){
14 |
15 | }
16 |
17 | public Motocicleta(String fabricante, String modelo, double cc, int year, boolean sport, int speed, Motor motor, boolean baul) {
18 | super(fabricante, modelo, cc, year, sport, speed, motor);
19 | this.baul = baul;
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/sesiones_4_5_6/ob-poo/src/poo/sininterfaces/Empleado.java:
--------------------------------------------------------------------------------
1 | package poo.sininterfaces;
2 |
3 | public class Empleado {
4 |
5 | // 1. atributos
6 | String nombre;
7 | int edad;
8 | double salario;
9 | boolean alta;
10 |
11 | // 2. constructores
12 | public Empleado(){}
13 |
14 | public Empleado(String nombre, int edad, double salario, boolean alta) {
15 | this.nombre = nombre;
16 | this.edad = edad;
17 | this.salario = salario;
18 | this.alta = alta;
19 | }
20 |
21 | // metodos
22 |
23 |
24 | @Override
25 | public String toString() {
26 | return "Empleado{" +
27 | "nombre='" + nombre + '\'' +
28 | ", edad=" + edad +
29 | ", salario=" + salario +
30 | ", alta=" + alta +
31 | '}';
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/sesiones_4_5_6/ob-poo/src/poo/sininterfaces/EmpleadoCRUDV1.java:
--------------------------------------------------------------------------------
1 | package poo.sininterfaces;
2 |
3 | import java.util.ArrayList;
4 | import java.util.List;
5 |
6 | /**
7 | * Create
8 | * Retrieve/Read
9 | * Update
10 | * Delete
11 | */
12 | public class EmpleadoCRUDV1 {
13 |
14 | // estructura de datos
15 | private List empleados = new ArrayList<>();
16 |
17 | // OPERACIONES CRUD
18 |
19 | // CREATE - guardar un empleado
20 | public void save(Empleado empleado){
21 | empleados.add(empleado);
22 | }
23 |
24 | public List findAll(){
25 | return empleados;
26 | }
27 |
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/sesiones_4_5_6/ob-poo/src/poo/sininterfaces/EmpleadoCRUDV2.java:
--------------------------------------------------------------------------------
1 | package poo.sininterfaces;
2 |
3 | import java.util.ArrayList;
4 | import java.util.List;
5 |
6 | public class EmpleadoCRUDV2 {
7 |
8 | public List recuperarEmpleados(){
9 | // conexion a base de datos
10 | List empleados = new ArrayList<>();
11 | return empleados;
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/sesiones_4_5_6/ob-poo/src/poo/sininterfaces/Main.java:
--------------------------------------------------------------------------------
1 | package poo.sininterfaces;
2 |
3 |
4 | import java.util.List;
5 |
6 | public class Main {
7 |
8 | public static void main(String[] args) {
9 |
10 | // EmpleadoCRUDV1 empleadoCRUDV1 = new EmpleadoCRUDV1();
11 | //
12 | // Empleado juanito = new Empleado("Juanito", 30, 40000, true);
13 | // Empleado patricia = new Empleado("Patricia", 30, 40000, true);
14 | // Empleado roberto = new Empleado("Roberto", 30, 40000, true);
15 | //
16 | // System.out.println(juanito);
17 | //
18 | // // guardar empleados
19 | // empleadoCRUDV1.save(juanito);
20 | // empleadoCRUDV1.save(patricia);
21 | // empleadoCRUDV1.save(roberto);
22 | //
23 | // // consultar empleados
24 | // List empleados = empleadoCRUDV1.findAll();
25 | // System.out.println(empleados);
26 |
27 | // usamos V2
28 |
29 | EmpleadoCRUDV2 empleadoCRUDV2 = new EmpleadoCRUDV2();
30 |
31 | Empleado juanito = new Empleado("Juanito", 30, 40000, true);
32 | Empleado patricia = new Empleado("Patricia", 30, 40000, true);
33 | Empleado roberto = new Empleado("Roberto", 30, 40000, true);
34 |
35 | System.out.println(juanito);
36 |
37 |
38 |
39 | // consultar empleados
40 | List empleados = empleadoCRUDV2.recuperarEmpleados();
41 | System.out.println(empleados);
42 | }
43 |
44 | }
45 |
--------------------------------------------------------------------------------
/sesiones_4_5_6/ob-refactor/.idea/.gitignore:
--------------------------------------------------------------------------------
1 | # Default ignored files
2 | /shelf/
3 | /workspace.xml
4 | # Datasource local storage ignored files
5 | /dataSources/
6 | /dataSources.local.xml
7 | # Editor-based HTTP Client requests
8 | /httpRequests/
9 |
--------------------------------------------------------------------------------
/sesiones_4_5_6/ob-refactor/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/sesiones_4_5_6/ob-refactor/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/sesiones_4_5_6/ob-refactor/.idea/runConfigurations.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/sesiones_4_5_6/ob-refactor/ob-refactor.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/sesiones_4_5_6/ob-refactor/src/consolidatedconditional/bad/Main.java:
--------------------------------------------------------------------------------
1 | package consolidatedconditional.bad;
2 |
3 | public class Main {
4 |
5 | private double extraSalary;
6 | private int seniority;
7 | private int education;
8 | private int incidents;
9 | private boolean certification;
10 |
11 | double calculateExtraSalary(){
12 | double result = 0;
13 | if (seniority<1){
14 | return 0;
15 | }
16 | if (education<1){
17 | return 0;
18 | }
19 | if(incidents > 10){
20 | return 0;
21 | }
22 | if (!certification){
23 | return 0;
24 | }
25 |
26 | // Calculate extra salary:
27 | // ...
28 | return result;
29 |
30 | }
31 |
32 | }
33 |
--------------------------------------------------------------------------------
/sesiones_4_5_6/ob-refactor/src/consolidatedconditional/good/Main.java:
--------------------------------------------------------------------------------
1 | package consolidatedconditional.good;
2 |
3 | public class Main {
4 |
5 | private double extraSalary;
6 | private int seniority;
7 | private int education;
8 | private int incidents;
9 | private boolean certification;
10 |
11 | double calculateExtraSalary(){
12 | double result = 0;
13 |
14 | if(!isEligibleExtraSalary()){
15 | return result;
16 | }
17 |
18 | // Calculamos el salario extra:
19 |
20 |
21 | // ...
22 | return result;
23 |
24 | }
25 |
26 | public boolean isEligibleExtraSalary(){
27 | // agrupar condiciones utilizando AND (&&) y OR (||)
28 | boolean estudios = seniority<1 || education<1;
29 | boolean antiguedad = incidents > 10 && certification;
30 | return estudios || antiguedad;
31 | }
32 |
33 | }
34 |
--------------------------------------------------------------------------------
/sesiones_4_5_6/ob-refactor/src/consolidateduplicate/bad/Main.java:
--------------------------------------------------------------------------------
1 | package consolidateduplicate.bad;
2 |
3 | public class Main {
4 |
5 | private double extraSalary;
6 | private int seniority;
7 | private int education;
8 | private int incidents;
9 | private boolean certification;
10 |
11 | double calculateExtraSalary(){
12 | double result = 0;
13 | if(isEligibleExtraSalary()){
14 | result = 500;
15 | sendMessage(); // metodo que se repite en la condicion
16 | }else{
17 | result = 0;
18 | sendMessage(); // metodo que se repite en la condicion
19 | }
20 | return result;
21 |
22 | }
23 |
24 | private void sendMessage() {
25 | // send email
26 | // connect smtp
27 | System.out.println("Sending message");
28 | }
29 |
30 | private boolean isEligibleExtraSalary() {
31 | boolean firstLevel = seniority<1 || education<1;
32 | boolean secondLevel = incidents > 10 || !certification;
33 |
34 | return firstLevel || secondLevel;
35 | }
36 |
37 | }
38 |
--------------------------------------------------------------------------------
/sesiones_4_5_6/ob-refactor/src/consolidateduplicate/good/Main.java:
--------------------------------------------------------------------------------
1 | package consolidateduplicate.good;
2 |
3 | public class Main {
4 |
5 | private double extraSalary;
6 | private int seniority;
7 | private int education;
8 | private int incidents;
9 | private boolean certification;
10 |
11 | double calculateExtraSalary(){
12 | double result = 0;
13 | if(isEligibleExtraSalary()){ // verdadero
14 | result = 500;
15 | }else{ // faso
16 | result = 0;
17 | }
18 | sendMessage();
19 | return result;
20 |
21 | }
22 |
23 | private void sendMessage() {
24 | // send email
25 | // connect smtp
26 | System.out.println("Sending message");
27 | }
28 |
29 | private boolean isEligibleExtraSalary() {
30 | boolean firstLevel = seniority<1 || education<1;
31 | boolean secondLevel = incidents > 10 || !certification;
32 |
33 | return firstLevel || secondLevel;
34 | }
35 |
36 | }
37 |
--------------------------------------------------------------------------------
/sesiones_4_5_6/ob-refactor/src/extractclass/bad/Person.java:
--------------------------------------------------------------------------------
1 | package extractclass.bad;
2 |
3 | public class Person {
4 |
5 | private Long id;
6 | private String firstName;
7 | private String lastName;
8 | private Integer age;
9 | // address
10 | private String street;
11 | private String postalCode;
12 | private String city;
13 | private String country;
14 | private String door;
15 |
16 |
17 | }
18 |
--------------------------------------------------------------------------------
/sesiones_4_5_6/ob-refactor/src/extractclass/good/Address.java:
--------------------------------------------------------------------------------
1 | package extractclass.good;
2 |
3 | public class Address {
4 |
5 | // address
6 | private String street;
7 | private String postalCode;
8 | private String city;
9 | private String country;
10 | private String door;
11 | }
12 |
--------------------------------------------------------------------------------
/sesiones_4_5_6/ob-refactor/src/extractclass/good/Person.java:
--------------------------------------------------------------------------------
1 | package extractclass.good;
2 |
3 | public class Person {
4 |
5 | private Long id;
6 | private String firstName;
7 | private String lastName;
8 | private Integer age;
9 |
10 | private Address address;
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/sesiones_4_5_6/ob-refactor/src/extractmethod/bad/Main.java:
--------------------------------------------------------------------------------
1 | package extractmethod.bad;
2 |
3 | public class Main {
4 |
5 | void printHTML(){
6 |
7 | printHead();
8 | printBody();
9 | System.out.println("This is the footer");
10 | System.out.println("script");
11 | System.out.println("copyright");
12 | System.out.println("");
13 |
14 | }
15 |
16 | private void printBody() {
17 | }
18 |
19 | private void printHead() {
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/sesiones_4_5_6/ob-refactor/src/extractmethod/good/Main.java:
--------------------------------------------------------------------------------
1 | package extractmethod.good;
2 |
3 | public class Main {
4 |
5 | void printHTML(){
6 |
7 | printHead();
8 | printBody();
9 | printFooter();
10 |
11 | }
12 |
13 | private void printFooter() {
14 | System.out.println("This is the footer");
15 | System.out.println("script");
16 | System.out.println("copyright");
17 | System.out.println("");
18 | }
19 |
20 | private void printBody() {
21 | }
22 |
23 | private void printHead() {
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/sesiones_4_5_6/ob-refactor/src/extractvariable/bad/Main.java:
--------------------------------------------------------------------------------
1 | package extractvariable.bad;
2 |
3 | public class Main {
4 |
5 | void printProductPrice(Order order){
6 | Double totalPrice = order.getPrice() * order.getQuantity() -
7 | order.getOffer() + order.getShipping() * 2;
8 |
9 | System.out.println(totalPrice);
10 | }
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/sesiones_4_5_6/ob-refactor/src/extractvariable/bad/Order.java:
--------------------------------------------------------------------------------
1 | package extractvariable.bad;
2 |
3 | public class Order {
4 |
5 | private Double price;
6 | private Integer quantity;
7 | private Double offer;
8 | private Double shipping;
9 |
10 | public Double getPrice() {
11 | return price;
12 | }
13 | public Integer getQuantity() {
14 | return quantity;
15 | }
16 | public Double getOffer() {
17 | return offer;
18 | }
19 | public void setPrice(Double price) {
20 | this.price = price;
21 | }
22 | public void setQuantity(Integer quantity) {
23 | this.quantity = quantity;
24 | }
25 | public void setOffer(Double offer) {
26 | this.offer = offer;
27 | }
28 | public Double getShipping() {
29 | return shipping;
30 | }
31 | public void setShipping(Double shipping) {
32 | this.shipping = shipping;
33 | }
34 |
35 |
36 |
37 | }
38 |
--------------------------------------------------------------------------------
/sesiones_4_5_6/ob-refactor/src/extractvariable/good/Main.java:
--------------------------------------------------------------------------------
1 | package extractvariable.good;
2 |
3 | import extractvariable.bad.Order;
4 |
5 | public class Main {
6 |
7 | void printProductPrice(Order order){
8 | // calcular precio total
9 |
10 | // 1. precio de los productos
11 | Double quantityPrice = order.getPrice() * order.getQuantity();
12 |
13 | // 2. descuento
14 | Double offerPrice = order.getPrice() * order.getOffer();
15 |
16 | // 3. calcular precio productos con el descuento incluido
17 | Double finalPrice = quantityPrice - offerPrice;
18 |
19 | // 4. precio envio
20 | Double shippingCost = 0.0;
21 | if(finalPrice < 50){
22 | shippingCost = 2.99;
23 | }
24 |
25 | // precio definitivo
26 | System.out.println(finalPrice + shippingCost);
27 | }
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/sesiones_4_5_6/ob-refactor/src/magicnumbers/bad/Main.java:
--------------------------------------------------------------------------------
1 | package magicnumbers.bad;
2 |
3 | public class Main {
4 |
5 | public static void main(String[] args) {
6 | double price = 129.99;
7 |
8 | double discountPrice = calculateDiscount(price);
9 | double shippingPrice = calculateShipping(price);
10 | }
11 |
12 | private static double calculateShipping(double price) {
13 | return price < 100 ? 4.99 : 0; // hard coded
14 |
15 | }
16 |
17 | private static double calculateDiscount(double price) {
18 | return price * 0.1;
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/sesiones_4_5_6/ob-refactor/src/magicnumbers/good/Main.java:
--------------------------------------------------------------------------------
1 | package magicnumbers.good;
2 |
3 | public class Main {
4 |
5 |
6 | private static final double PRECIO_MINIMO_COMPRA = 100;
7 | private static final double PRECIO_ENVIO = 2.99;
8 | private static final double ENVIO_GRATIS = 0;
9 | private static final double DESCUENTO = 0.1;
10 |
11 | public static void main(String[] args) {
12 | double price = 129.99;
13 |
14 | double discountPrice = calculateDiscount(price);
15 | double shippingPrice = calculateShipping(price);
16 | }
17 |
18 | private static double calculateShipping(double price) {
19 | return price < PRECIO_MINIMO_COMPRA ? PRECIO_ENVIO : ENVIO_GRATIS; // hard coded
20 |
21 | }
22 |
23 | private static double calculateDiscount(double price) {
24 | return price * DESCUENTO;
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/sesiones_4_5_6/ob-refactor/src/removeassign/bad/Main.java:
--------------------------------------------------------------------------------
1 | package removeassign.bad;
2 |
3 | public class Main {
4 |
5 |
6 | double calculateDiscount(Order order, double totalPrice){
7 | if (order == null || order.getPrice() == null) // programacion defensiva
8 | return totalPrice;
9 |
10 | if (order.getPrice() > 100)
11 | totalPrice += order.getPrice() * order.getOffer(); // sobreescribe totalPrice
12 | return totalPrice;
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/sesiones_4_5_6/ob-refactor/src/removeassign/bad/Order.java:
--------------------------------------------------------------------------------
1 | package removeassign.bad;
2 |
3 | public class Order {
4 |
5 | private Double price;
6 | private Double quantity;
7 | private Double offer;
8 | private Double shipping;
9 |
10 | public Double getPrice() {
11 | return price;
12 | }
13 | public Double getQuantity() {
14 | return quantity;
15 | }
16 | public Double getOffer() {
17 | return offer;
18 | }
19 | public void setPrice(Double price) {
20 | this.price = price;
21 | }
22 | public void setQuantity(Double quantity) {
23 | this.quantity = quantity;
24 | }
25 | public void setOffer(Double offer) {
26 | this.offer = offer;
27 | }
28 | public Double getShipping() {
29 | return shipping;
30 | }
31 | public void setShipping(Double shipping) {
32 | this.shipping = shipping;
33 | }
34 |
35 |
36 |
37 | }
38 |
--------------------------------------------------------------------------------
/sesiones_4_5_6/ob-refactor/src/removeassign/good/Main.java:
--------------------------------------------------------------------------------
1 | package removeassign.good;
2 |
3 | import removeassign.bad.Order;
4 |
5 | public class Main {
6 |
7 |
8 | double calculateDiscount(Order order, double totalPrice){
9 | double result = totalPrice;
10 |
11 | if (order == null || order.getPrice() == null) // programacion defensiva
12 | return result;
13 |
14 | if (order.getPrice() > 100)
15 | result += order.getPrice() * order.getOffer(); // sobreescribe totalPrice
16 | return result;
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/sesiones_4_5_6/ob-refactor/src/replacemethod/bad/Product.java:
--------------------------------------------------------------------------------
1 | package replacemethod.bad;
2 |
3 | public class Product {
4 |
5 | double price;
6 | int quantity;
7 | double discount;
8 | double shipping;
9 |
10 | // constructores
11 |
12 | // metodos
13 |
14 | // tostring
15 |
16 | public double calculatePrice(){
17 | double result = 0;
18 | double priceQuantity = this.price * this.quantity;
19 | double priceDiscount = this.price * this.discount;
20 | double priceShipping = shipping * 0.50;
21 |
22 | // .......
23 |
24 | // ......
25 | return result;
26 | }
27 |
28 | // getter y setter
29 | public double getPrice() {
30 | return price;
31 | }
32 | public int getQuantity() {
33 | return quantity;
34 | }
35 | public double getDiscount() {
36 | return discount;
37 | }
38 | public double getShipping() {
39 | return shipping;
40 | }
41 | public void setPrice(double price) {
42 | this.price = price;
43 | }
44 | public void setQuantity(int quantity) {
45 | this.quantity = quantity;
46 | }
47 | public void setDiscount(double discount) {
48 | this.discount = discount;
49 | }
50 | public void setShipping(double shipping) {
51 | this.shipping = shipping;
52 | }
53 |
54 | }
55 |
--------------------------------------------------------------------------------
/sesiones_4_5_6/ob-refactor/src/replacemethod/good/Product.java:
--------------------------------------------------------------------------------
1 | package replacemethod.good;
2 |
3 | /**
4 | * Técnica de refactoring para componer métodos
5 | * (Composing Methods)
6 | *
7 | * Replace method with method object
8 | */
9 | public class Product {
10 |
11 | private double price;
12 | private int quantity;
13 | private double discount;
14 | private double shipping;
15 |
16 |
17 | // metodos especiales
18 |
19 | double calculatePrice(){
20 | // ProductPriceCalculator calculator = new ProductPriceCalculator(this);
21 | // return calculator.calculatePrice();
22 |
23 | return new ProductPriceCalculator(this).calculatePrice();
24 | }
25 |
26 | // getter y setter
27 | public double getPrice() {
28 | return price;
29 | }
30 | public int getQuantity() {
31 | return quantity;
32 | }
33 | public double getDiscount() {
34 | return discount;
35 | }
36 | public double getShipping() {
37 | return shipping;
38 | }
39 | public void setPrice(double price) {
40 | this.price = price;
41 | }
42 | public void setQuantity(int quantity) {
43 | this.quantity = quantity;
44 | }
45 | public void setDiscount(double discount) {
46 | this.discount = discount;
47 | }
48 | public void setShipping(double shipping) {
49 | this.shipping = shipping;
50 | }
51 |
52 |
53 |
54 | }
55 |
--------------------------------------------------------------------------------
/sesiones_4_5_6/ob-refactor/src/replacemethod/good/ProductPriceCalculator.java:
--------------------------------------------------------------------------------
1 | package replacemethod.good;
2 |
3 | public class ProductPriceCalculator {
4 |
5 |
6 | private double price;
7 | private int quantity;
8 |
9 | public ProductPriceCalculator(Product product) {
10 | this.price = product.getPrice();
11 | this.quantity = product.getQuantity();
12 |
13 | }
14 |
15 |
16 | public double calculatePrice(){
17 | double result = 0;
18 |
19 | // calculos
20 |
21 |
22 | return result;
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/sesiones_7_8_9/.idea/.gitignore:
--------------------------------------------------------------------------------
1 | # Default ignored files
2 | /shelf/
3 | /workspace.xml
4 | # Editor-based HTTP Client requests
5 | /httpRequests/
6 | # Datasource local storage ignored files
7 | /dataSources/
8 | /dataSources.local.xml
9 |
--------------------------------------------------------------------------------
/sesiones_7_8_9/.idea/.name:
--------------------------------------------------------------------------------
1 | sesiones_7_8_y_9
--------------------------------------------------------------------------------
/sesiones_7_8_9/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/sesiones_7_8_9/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/sesiones_7_8_9/.idea/runConfigurations.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/sesiones_7_8_9/Java Básico.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/sesiones_7_8_9/out/production/Java Básico/Main.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Open-Bootcamp/java_basico/7f228f3fe2aaac4aea565d249b1fe79dfe1392d5/sesiones_7_8_9/out/production/Java Básico/Main.class
--------------------------------------------------------------------------------
/sesiones_7_8_9/out/production/Java Básico/Sesion7.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Open-Bootcamp/java_basico/7f228f3fe2aaac4aea565d249b1fe79dfe1392d5/sesiones_7_8_9/out/production/Java Básico/Sesion7.class
--------------------------------------------------------------------------------
/sesiones_7_8_9/out/production/Java Básico/Sesion8.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Open-Bootcamp/java_basico/7f228f3fe2aaac4aea565d249b1fe79dfe1392d5/sesiones_7_8_9/out/production/Java Básico/Sesion8.class
--------------------------------------------------------------------------------
/sesiones_7_8_9/out/production/Java Básico/Sesion9.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Open-Bootcamp/java_basico/7f228f3fe2aaac4aea565d249b1fe79dfe1392d5/sesiones_7_8_9/out/production/Java Básico/Sesion9.class
--------------------------------------------------------------------------------
/sesiones_7_8_9/src/Main.java:
--------------------------------------------------------------------------------
1 | public class Main {
2 | public static void main(String []args) {
3 | /*
4 | * Descomentar la llamada a la función que queramos ver.
5 | */
6 |
7 | //Sesion7.demoStrings();
8 | //Sesion7.demoArrays();
9 | //Sesion7.demoVector();
10 | //Sesion7.demoList();
11 | //Sesion7.demoMap();
12 | //Sesion7.demoMath();
13 |
14 | //Sesion8.errorDivisionPorCero();
15 | //Sesion8.errorDivisionPorCeroTry();
16 | //Sesion8.errorOutOfBounds();
17 | //Sesion8.errorOutOfBoundsTry();
18 | //Sesion8.errorLogico();
19 |
20 | //Sesion9.leerByteAByte();
21 | //Sesion9.leerTodo();
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/sesiones_7_8_9/src/Sesion7.java:
--------------------------------------------------------------------------------
1 | import java.math.BigDecimal;
2 | import java.util.*;
3 |
4 | public class Sesion7 {
5 | // En esta función suprimo los warnings de ConstantConditions, arrojados por los "if"
6 | // de starts/endsWith al ser siempre cierta/falsa la condición.
7 | @SuppressWarnings("ConstantConditions")
8 | public static void demoStrings() {
9 | // Declarar un string
10 | String cadena = "Esto es una cadena";
11 |
12 | // Obtener longitud de la cadena
13 | int cadenaLen = cadena.length();
14 | System.out.println(cadenaLen);
15 |
16 | // Convertir toda la cadena a minúsculas
17 | String cadenaMinus = cadena.toLowerCase();
18 | System.out.println(cadenaMinus);
19 |
20 | // Convertir toda la cadena a mayúsculas
21 | String cadenaMayus = cadena.toUpperCase();
22 | System.out.println(cadenaMayus);
23 |
24 | // Verificar si una cadena empieza por otra cadena
25 | if (cadena.startsWith("Es")) {
26 | System.out.println("La cadena empieza por \"Es\"'");
27 | }
28 |
29 | if (cadena.startsWith("hola")) {
30 | System.out.println("La cadena empieza por \"hola\"");
31 | }
32 |
33 | // Verificar si uan cadena finaliza por otra cadena
34 | if (cadena.endsWith("cadena")) {
35 | System.out.println("La cadena finaliza por \"cadena\"");
36 | }
37 |
38 | if (cadena.endsWith("adios")) {
39 | System.out.println("La cadena finaliza por \"adios\"");
40 | }
41 |
42 | // Imprimimr un string carácter a carácter
43 | for (int i = 0; i < cadena.length(); i++) {
44 | char caracter = cadena.charAt(i);
45 | System.out.println("Caracter: " + caracter);
46 | }
47 | }
48 |
49 | // Para mostar una copia de array a mano, hay una copia literal en un for abajo del todo.
50 | // Como esto es un warning, vamos a suprimirlo, ya que queremos mostrar el ejemplo.
51 | @SuppressWarnings("ManualArrayCopy")
52 | public static void demoArrays() {
53 | // Declarar un array
54 | int []arrayUno = new int[5];
55 |
56 | // Asignar valores a un array previamente declarado:
57 | arrayUno[0] = 1;
58 | arrayUno[1] = 2;
59 | arrayUno[2] = 3;
60 | arrayUno[3] = 4;
61 | arrayUno[4] = 5;
62 |
63 | // Declarar e inicializar un array
64 | String []arrayDos = {"Naranja", "Limon", "Pomelo"};
65 |
66 | // Recorrer un array:
67 | for (int i = 0; i < arrayUno.length; i++) {
68 | System.out.println("Posicion del array " + i + " contiene el valor " + arrayUno[i]);
69 | }
70 |
71 | // Recorrer un array con la forma corta:
72 | for (String citrico : arrayDos) {
73 | System.out.println("Cítrico actual " + citrico);
74 | }
75 |
76 | // Declarar un array multidimensional
77 | int [][]arrayBidiUno = new int[2][4];
78 |
79 | // Asignar valores a un array multidimensional previamente declarado:
80 | arrayBidiUno[0][0] = 1;
81 | arrayBidiUno[0][1] = 2;
82 | arrayBidiUno[0][2] = 3;
83 | arrayBidiUno[0][3] = 4;
84 |
85 | arrayBidiUno[1][0] = 10;
86 | arrayBidiUno[1][1] = 20;
87 | arrayBidiUno[1][2] = 30;
88 | arrayBidiUno[1][3] = 40;
89 |
90 | // Recorrer un array bidimensional:
91 | for (int i = 0; i < arrayBidiUno.length; i++) {
92 | for (int j = 0; j < arrayBidiUno[i].length; j++) {
93 | System.out.println("Posición: [" + i + "][" + j + "] y contiene el valor " + arrayBidiUno[i][j]);
94 | }
95 | }
96 |
97 | // Declarar e inicializar un array multidimensional
98 | int [][]arrayBidiDos = {
99 | {1, 2, 3, 4},
100 | {10, 20, 30, 40},
101 | };
102 |
103 | // Recorrer un array bidimensional:
104 | for (int i = 0; i < arrayBidiDos.length; i++) {
105 | for (int j = 0; j < arrayBidiDos[i].length; j++) {
106 | System.out.println("Posición: [" + i + "][" + j + "] y contiene el valor " + arrayBidiDos[i][j]);
107 | }
108 | }
109 |
110 | // "Crecer" un array.
111 | // Solo podemos hacerlo creando uno nuevo de más tamaño y llenándolo con el contenido del original.
112 | int nuevoArrayLen = arrayUno.length * 2;
113 | int []nuevoArray = new int[nuevoArrayLen];
114 |
115 | // Esto dará un warning: Copia manual del array
116 | for (int i = 0; i < arrayUno.length; i++) {
117 | nuevoArray[i] = arrayUno[i];
118 | }
119 |
120 | // Para copiar un array "elegántemente":
121 | System.arraycopy(nuevoArray, 0, arrayUno, 0, arrayUno.length);
122 | }
123 |
124 | public static void demoVector() {
125 | // Un vector es similar a un array, pero puede (de)crecer dinámicamente.
126 | Vector vector = new Vector<>();
127 |
128 | // Añadir elementos
129 | vector.add(1);
130 | vector.add(2);
131 | vector.add(3);
132 | System.out.println("Contenido del vector: " + vector);
133 |
134 | // Quitar un elemento:
135 | vector.remove(1);
136 | System.out.println("Contenido del vector: " + vector);
137 |
138 | // Los vectores tienen capacidad y tamaño:
139 | System.out.println("Tamaño: " + vector.size() + " - Capacidad: " + vector.capacity());
140 |
141 | // Podemos ajustar la capacidad al tamaño actual:
142 | vector.trimToSize();
143 | System.out.println("Tamaño: " + vector.size() + " - Capacidad: " + vector.capacity());
144 |
145 | // Al añadir un elemento al vector, si superamos su capacidad, esta aumenta en capacityIncrement.
146 | // capacityIncrement se declara en el constructor del vector, y si es menor o igual a cero, por
147 | // defecto es el doble de la capacidad previa.
148 | vector.add(9);
149 | System.out.println("Tamaño: " + vector.size() + " - Capacidad: " + vector.capacity());
150 |
151 | // Recorrer un vector
152 | for (int i = 0; i < vector.size(); i++) {
153 | System.out.println("Valor en la posicion " + i + " del vector: " + vector.get(i));
154 | }
155 |
156 | // Recorrerlo con la forma corta:
157 | for (int i : vector) {
158 | System.out.println("Valor actual del vector: " + i);
159 | }
160 |
161 | // Comparar dos vectores
162 | Vector vector2 = new Vector<>();
163 | vector2.add(1);
164 | vector2.add(3);
165 | vector2.add(9);
166 |
167 | if (vector.equals(vector2)) {
168 | System.out.println("Los dos vectores son equivalentes");
169 | System.out.println(" -> vector: " + vector);
170 | System.out.println(" -> vector: " + vector2);
171 | }
172 | }
173 |
174 | public static void demoList() {
175 | // Similares a los vectores, usando un array de forma subyacente.
176 | // No están sincronizados, es importante tenerlo en cuenta cuando necesitamos código "thread-safe".
177 |
178 | // Tambien varía la forma de aumentar su capacidad. Por defecto, el vector dobla la capacidad, y
179 | // el ArrayList aumenta con la formula "capacidad += capacidad * 0.5". En el constructor no podemos
180 | // darle un tamaño de autocrecimiento (a diferencia del Vector), y utiliza la formula previa.
181 |
182 | // Crear una lista de tipo ArrayList:
183 | ArrayList lista = new ArrayList<>();
184 |
185 | // Añadir elementos
186 | lista.add("Uno");
187 | lista.add("Dos");
188 | lista.add("Tres");
189 | System.out.println("Contenido de la lista: " + lista);
190 |
191 | // Quitar un elemento:
192 | lista.remove("Dos");
193 | System.out.println("Contenido de la lista: " + lista);
194 |
195 | // Las listas tienen tamaño:
196 | System.out.println("Tamaño: " + lista.size());
197 |
198 | // Recorrer una lista
199 | for (int i = 0; i < lista.size(); i++) {
200 | System.out.println("Valor en la posicion " + i + " de la lista: " + lista.get(i));
201 | }
202 |
203 | // Recorrerlo con la forma corta:
204 | for (String e : lista) {
205 | System.out.println("Valor actual de la lista: " + e);
206 | }
207 |
208 | // Comparar dos listas
209 | ArrayList lista2 = new ArrayList<>();
210 | lista2.add("Uno");
211 | lista2.add("Tres");
212 |
213 | if (lista.equals(lista2)) {
214 | System.out.println("Las dos listas son equivalentes");
215 | System.out.println(" -> lista: " + lista);
216 | System.out.println(" -> lista2: " + lista2);
217 | }
218 |
219 | // Podemos convertir una lista en un array:
220 | String []array = new String[lista.size()];
221 | for (int i = 0; i < lista.size(); i++) {
222 | array[i] = lista.get(i);
223 | }
224 |
225 | for (String elemento : array) {
226 | System.out.println("Elemento de la lista convertida en array es: " + elemento);
227 | }
228 |
229 | // Otra forma de hacer lo mismo:
230 | for (Object arrayObjeto : lista.toArray()) {
231 | System.out.println("Elemento de la lista convertida en array es: " + arrayObjeto.toString());
232 | }
233 |
234 | // Las listas pueden ser de más tipos, además de ArrayList:
235 | LinkedList listaEnlazada = new LinkedList<>();
236 |
237 | // Y tienen las mismas operaciones que un ArrayList:
238 | listaEnlazada.add("Hola");
239 | System.out.println(listaEnlazada.get(0));
240 | listaEnlazada.remove("Hola");
241 |
242 | // Y pueden copiarse unas a otras
243 | LinkedList listaEnlazadaDos = new LinkedList<>(lista);
244 |
245 | // Podemos recorrer nuestra nueva lista, tipo enlazada, y a la que hemos copiado
246 | // los valores desde "lista", que es del tipo ArrayList.
247 | for (String elemento : listaEnlazadaDos) {
248 | System.out.println("Elemento actual en la lista enlazada: " + elemento);
249 | }
250 |
251 | // Cada tipo de lista tiene sus pros y sus contras:
252 | // ArrayList:
253 | // - Utiliza un array dinámico internamente
254 | // - Es más rápida para almacenar y buscar datos
255 | // - Solo implementa la interfaz "List", por lo que solo puede actuar como una lista
256 | //
257 | // LinkedList:
258 | // - Utiliza una lista doblemente enlazada a nivel interno
259 | // - Es más rápida para modificar datos
260 | // - Puede funcionar como lista y como cola, ya que implementa las interfaces "List" y "Deque"
261 | //
262 | // Hay más tipos, ¡búscalos!
263 | }
264 |
265 | public static void demoMap() {
266 | // Los mapas implementan colecciones "clave" = "valor".
267 |
268 | // Crear un mapa del tipo "HashMap":
269 | HashMap mapa = new HashMap<>();
270 |
271 | // Añadir elementos:
272 | mapa.put("clave1", 1);
273 | mapa.put("clave2", 2);
274 | mapa.put("clave3", 3);
275 |
276 | // Imprimir un valor de una clave del mapa accediendo a él:
277 | System.out.println("Valor de \"clave2\": " + mapa.get("clave2"));
278 |
279 | // Eliminar una clave del mapa:
280 | mapa.remove("clave2");
281 |
282 | // Un mapa no puede tener claves duplicadas, esto no se añadirá de nuevo, pero si reemplazará
283 | // su valor por "4":
284 | mapa.put("clave3", 4);
285 | System.out.println("Valor de \"clave3\": " + mapa.get("clave3"));
286 |
287 | // Un mapa puede cambiar el valor de una clave. Es más rapido reemplazar una clave que conozcamos
288 | // con replace que mediante mapa.put:
289 | mapa.replace("clave3", 100);
290 |
291 | // Recorrer un mapa:
292 | for (Map.Entry elemento : mapa.entrySet()) {
293 | System.out.println("Clave: " + elemento.getKey() + " - Valor: " + elemento.getValue());
294 | }
295 | }
296 |
297 | public static void demoMath() {
298 | // Math es muy preciso con decimales utilizando BigDecimal.
299 | double valorInicial = 3.14f;
300 | BigDecimal valorA = BigDecimal.valueOf(valorInicial);
301 |
302 | double valorSecundario = 3.15f;
303 | BigDecimal valorB = BigDecimal.valueOf(valorSecundario);
304 |
305 | // Suma el BigDecimal "valorB" a "valorA"
306 | BigDecimal resultado = valorA.add(valorB);
307 |
308 | // Imprime la suma
309 | System.out.println(resultado);
310 | }
311 | }
312 |
--------------------------------------------------------------------------------
/sesiones_7_8_9/src/Sesion8.java:
--------------------------------------------------------------------------------
1 | import java.util.Scanner;
2 |
3 | public class Sesion8 {
4 | public static void errorDivisionPorCero() {
5 | Scanner scanner = new Scanner(System.in);
6 | System.out.print("Introduce dos números: ");
7 |
8 | int numeroA = scanner.nextInt();
9 | int numeroB = scanner.nextInt();
10 |
11 | int resultado = numeroA / numeroB;
12 |
13 | System.out.println("El resultado es: " + resultado);
14 | }
15 |
16 | public static void errorDivisionPorCeroTry() {
17 | Scanner scanner = new Scanner(System.in);
18 | System.out.print("Introduce dos números: ");
19 |
20 | int numeroA = scanner.nextInt();
21 | int numeroB = scanner.nextInt();
22 |
23 | try {
24 | int resultado = numeroA / numeroB;
25 | System.out.println("El resultado es: " + resultado);
26 | } catch (ArithmeticException e) {
27 | System.out.println("¡No se puede dividir por cero!");
28 | }
29 | }
30 |
31 | public static void errorOutOfBounds() {
32 | int []numeros = new int[3];
33 | System.out.println(numeros[3]);
34 | }
35 |
36 | public static void errorOutOfBoundsTry() {
37 | try {
38 | int []numeros = new int[3];
39 | System.out.println(numeros[3]);
40 | } catch (ArrayIndexOutOfBoundsException e) {
41 | System.out.println("Estás accediendo a un elemetno que no existe: " + e.getMessage());
42 | }
43 | }
44 |
45 | public static void errorLogico() {
46 | int a = 5;
47 | int b = 10;
48 | int resultado = a - b;
49 | System.out.println("El resultado de sumar a + b es = " + resultado);
50 | }
51 | }
--------------------------------------------------------------------------------
/sesiones_7_8_9/src/Sesion9.java:
--------------------------------------------------------------------------------
1 | import java.io.FileInputStream;
2 | import java.io.FileNotFoundException;
3 | import java.io.IOException;
4 | import java.io.InputStream;
5 |
6 | public class Sesion9
7 | {
8 | public static void leerTodo() {
9 | try {
10 | InputStream fichero = new FileInputStream("/etc/passwd");
11 |
12 | try {
13 | byte []datos = fichero.readAllBytes();
14 | for (byte dato : datos) {
15 | System.out.print((char)dato);
16 | }
17 | fichero.close();
18 |
19 | } catch (IOException e) {
20 | System.out.println("No puedo leerlo: " + e.getMessage());
21 | }
22 |
23 |
24 | } catch (FileNotFoundException e) {
25 | System.out.println("Fichero no encontrado: " + e.getMessage());
26 | }
27 | }
28 |
29 | public static void leerByteAByte() {
30 | try {
31 | InputStream fichero = new FileInputStream("/etc/passwd");
32 |
33 | try {
34 | byte []datos = new byte[5];
35 | int data = fichero.read(datos);
36 |
37 |
38 | while (data != -1) {
39 | System.out.println("Leido: '" + (char)data + "' que es el código " + data);
40 | data = fichero.read();
41 | }
42 |
43 | } catch (IOException e) {
44 | System.out.println("Error al leer: " + e.getMessage());
45 | }
46 |
47 | } catch (FileNotFoundException e) {
48 | System.out.println("Error al abrir fichero: " + e.getMessage());
49 | }
50 | }
51 | }
52 |
--------------------------------------------------------------------------------